要点总结

一、冒泡排序

原理:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

要点:

  1. 两个循环嵌套,第一个循环控制比较轮次,第二个循环控制每轮比较次数
  2. 如果前一个元素大于后一个元素,交换位置

二、二分查找

原理:

  1. 有序列表中,二分查找从中间项开始
  2. 如果该项是我们目标项,则完成查找
  3. 如果目标项大于中间项,则可以消除中间项及比中间项目小的那一部分
  4. 反之,消除中间项目及比中间项目比较大的那一部分,之后再次重复上面过程

要点:

  1. 先记录起始位置和末尾位置
  2. 循环条件为 末尾位置>起始位置
  3. 计算当前条件下的中间位置
  4. 进行比较,判断下一次判断的区间
  5. 最终返回的是middle

递归方式实现:

要点:

  1. 没有循环
  2. 标记中间位置坐标
  3. 进行判断,分支条件返回递归函数

猜你喜欢

转载自www.cnblogs.com/yaoyu19960106/p/11142844.html