algorithm - 查找

记录一些常用的查找算法

数据结构-树 很多都是用于查找的

二分查找

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int binary_search_f(std::vector<int> &src, int value, int l, int r) {
if (l > r) {
return -1;
}

int mid = (l + r) / 2;

if (value == src[mid]) {
return mid;
} else if (value > src[mid]) {
return binary_search_f(src, value, mid + 1, r);
}
return binary_search_f(src, value, l, mid - 1);
}

int binary_search(std::vector<int> &src, int value) {
return binary_search_f(src, value, 0, src.size() - 1);
}