二分搜尋方法,充分利用了元素間的次序關係,採用分治策略。可在最壞情況下用時間o(logn)時間完成搜尋。
#includeint binarysearch_recur(int *br, int x, int left, int right)
else
else if (x > br[middle])
else
}return -1;
}int binarysearch(int *br, int x, int n)
if (x > br[middle])
else
}return -1;
}int main()
;//已經排好序
int x = 0;
int left = 0, right = n - 1;
printf("please input the number:");
scanf_s("%d", &x);
printf("二分查詢遞迴實現:");
if (-1 == binarysearch_recur(ar_a, x, left, right))
else
printf("二分查詢非遞迴實現:");
if (-1 == binarysearch_recur(ar_a, x, left, right))
else
}
1152 二分搜尋 非遞迴與遞迴
time limit 1 sec memory limit 128 mb submit 1736 solved 634 submit status web board 在有序序列中查詢某一元素x。首先輸入乙個正整數n n 100000 表示該序列有n個整數,然後按從小到大的順序輸入n個整數 接著是乙...
二分查詢演算法 遞迴 非遞迴實現
package sorttest 名稱 binarysearch 功能 實現了折半查詢 二分查詢 的遞迴和非遞迴演算法.說明 1 要求所查詢的陣列已有序,並且其中元素已實現comparable介面,如integer string等.2 非遞迴查詢使用search 遞迴查詢使用searchrecurs...
二分查詢實現(遞迴和非遞迴)
遞迴的二分查詢,查詢單個值 時間複雜度 log2n 有點像二叉排序樹的查詢 param arr 待查詢陣列,有序 param low param high param findval 待找值 return 待找值的下標,沒有返回 1 public static intbinarysearch int...