二分查找:适用于有序顺序表
基本思路:将给定值key与表中中间位置元素进行比较:若相等,则查找成功;若比给定key值小,则在前半部分查找;若比给定key值大,则在前后部分查找;如此重复直至找到为止,或当表中遍历完时,则查找不成功。
时间复杂度:O(logn),其中 n 是给定样本的数量。
空间复杂度:O(1),只需要常数的空间保存若干变量。
C语言示例:
Tips:
1.middle的计算需要依题考虑
2.循环条件与边界范围确定需要多考虑
题目1:
Java解题:
题目2:
Java解题:
题目3:
Java解题:
题目四:
Java解题:
题目五:
Java解题: