首页 . 理学 . 计算机科学技术 . 计算机科学理论 . 算法 . 查找算法

二分查找

/binary search/
最后更新 2022-01-20
浏览 266
最后更新 2022-01-20
浏览 266
0 意见反馈 条目引用

一种针对有序表的高效查找算法。又称折半查找。

英文名称
binary search
又称
折半查找
所属学科
计算机科学技术

二分查找要求待查表为有序表。假设表中元素按升序排列,查找关键字时,首先将表中间位置记录的关键字与查找的关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录。

输入:数组A[1…n]与目标值T;输出:数组A中与T相等元素的下标。

①low = 1, high = n;

②while (low <= high) do

③——mid = (low + high)/2;

④——if A[mid] = T then

⑤————return mid;

⑥——else if A[mid] < T then

⑦————high = mid - 1;

⑧——else

⑨————low = mid + 1;

⑩return 0. \\未找到指定元素

二分查找效率很高,在长度为n的表中时间复杂度为O(log2n)。但是,此算法只能应用于有序表中,无法在无序表中进行查找。

  • 严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,2012.
  • 殷人昆,陶永雷,谢若阳,盛绪华.数据结构(用面向对象方法与C 描述).北京:清华大学出版社,2007.
  • SWEENEY DONALD W, ALLEBACH JAN P, SELDOWITZ MICHAEL A.Synthesis of digital holograms by direct binary search.Applied Optics,1987,26(14):2788-2988.

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!