CC++ & Algorithm
算法可视化
查找复杂度 O(log n)

二分查找

在有序数组中,每次和中间元素比,直接排除一半。7 个元素最多 3 次就能找到。

复杂度 O(log n)
main.cpp第 3 行
1#include <iostream>
2using namespace std;
3int main() {
4 int a[] = {1, 3, 5, 7, 9, 11, 13};
5 int target = 9;
6 int lo = 0, hi = 6;
7 while (lo <= hi) {
8 int mid = (lo + hi) / 2;
9 if (a[mid] == target) { cout << "找到"; break; }
10 else if (a[mid] < target) lo = mid + 1;
11 else hi = mid - 1;
12 }
13 return 0;
14}
变量表0 个变量
还没有变量,执行到声明语句后出现
数组 a
比较交换已就位
1
0
3
1
5
2
7
3
9
4
11
5
13
6
1/13

进入 main 函数

1 / 13