算法设计与分析课件 22 二分搜索.pptxVIP

  • 1
  • 0
  • 约小于1千字
  • 约 9页
  • 2026-06-10 发布于山东
  • 举报

算法设计与分析本节要点CONTENTS二分搜索

二分搜索在有序序列中查找,每次和中间元素比较,如果比中间元素小,则在前半部分查找;如果比中间元素大,则在后半部分查找。这种方法称为二分查找,折半查找,二分搜索。

二分搜索算法步骤:(1)初始化。令l=0,r=n?1,分别指向数组中第一个元素和最后一个元素的下标。(2)若lr,则算法结束,否则mid=(l+r)/2,mid指向查找范围内中间元素的下标。若数据较大,为避免l+r溢出,可写为mid=l+(r-l)/2。(3)若x=a[mid],则查找成功,算法结束;若xa[mid],则令r=mid?1,在前半部分查找;否则令l=mid+1,在后半部分查找,转向第2步。

二分搜索在有序序列(5,8,15,17,25,30,34,39,45,52,60)中查找元素17。

二分搜索

二分搜索

二分搜索T(n)表示在n个元素的序列中二分查找的时间复杂度。当n1时,待查找元素和中间元素比较,需要O(1)时间,如果比较不成功,则在前半部分或后半部分查找,问题的规模缩小了一半,时间复杂度变为T(n/2)。

二分搜索二分查找的时间复杂度的为O(logn)。

二分搜索非递归算法:二分查找的空间复杂度为O(1)。递归算法:二分查找的空间复杂度为O(logn)。

文档评论(0)

1亿VIP精品文档

相关文档