二分查找要求待查表为有序表。假设表中元素按升序排列,查找关键字时,首先将表中间位置记录的关键字与查找的关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录。
首页
[{"ID":42422,"Name":"理学"},{"ID":81272,"Name":"计算机科学技术"},{"ID":81639,"Name":"计算机科学理论"},{"ID":81665,"Name":"算法"},{"ID":81668,"Name":"查找算法"}]
. 理学 . 计算机科学技术 . 计算机科学理论 . 算法 . 查找算法二分查找
/binary search/
最后更新 2022-01-20
浏览 266次
一种针对有序表的高效查找算法。又称折半查找。
- 英文名称
- 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.