折半查找(二分法)

折半查找,⼜称“⼆分查找”,仅适⽤于有序的顺序表。

算法思想图示:

查找成功示例:
Step1:
折半查找(二分法)
Step2:
折半查找(二分法)
折半查找(二分法)
Step3:
折半查找(二分法)
折半查找(二分法)
Step4:
折半查找(二分法)
折半查找(二分法)

查找失败示例:
Step1:
折半查找(二分法)
Step2:
折半查找(二分法)
折半查找(二分法)
Step3:
折半查找(二分法)
折半查找(二分法)
Step4:
折半查找(二分法)
折半查找(二分法)
Step5:
折半查找(二分法)

示例代码:

折半查找中要注意的事项:

  • 注意满足判断条件后:low = middle + 1 OR high = middle - 1
  • 注意查找成功和查找失败时,low、high指针的位置关系。成功时:low和high和middle指向同一个位置;失败时:low在high后一个位置(high在low前一个位置)

参考引用:王道考研/CSKAOYAN.COM 数据结构课程PPT

上一篇:快速排序+折半查找 c++


下一篇:LeetCode33旋转排序数组的二分查找