Posts Tagged ‘二分查找’

折半查找

折半查找(二分查找)是一种简单而又高效的查找算法,其查找长度至多为㏒2n+1(判定树的深度),平均查找长度为㏒2(n+1)-1,效率比顺序查找要高,但折半查找只能适用于顺序存储有序表(如对线性链表就无法有效地进行折半查找)。 折半查找的C/C++代码实现: int binary_search(int search_table[], int length, int key) {     int low = 0;     int high = length – 1;     while (low < = high) {         int mid = (low + high) / 2;         if (key == search_table[mid])             return mid;   [...]

Read the rest of this entry »