演算法 二分搜尋

2021-08-02 02:31:37 字數 644 閱讀 4188

思路:首先從陣列中間的數把陣列分成兩部分,如果查詢的數比中間的數大,說明接下來需要查詢右邊的部分,令中間的的下標+1為下一次開始查詢的開始位置,再從low到high之間查詢,一直迴圈。

[root@bogon code]# cat erfen.c 

#include

int work(int x,int a,int len)

return -1; //找不到

}int main()

; int n;

printf("please input a search num\n");

scanf("%d",&n);

int t=work(n,a,10);

if(t==-1)

printf("no this num\n");

else

printf("this num in %d\n",t);

return0;}

[root@bogon code]# gcc erfen.c

[root@bogon code]# ./a.out

please input a search num

7this num in 6

[root@bogon code]#

二分搜尋演算法

今天我勉強搞懂了二分查詢演算法,我覺得很有收穫,這是個不錯的演算法,希望還不知道 不懂二分演算法的朋友能看看!二分查詢 二分查詢的前提是陣列一定是有序的 傳入乙個陣列 t 傳入乙個查詢元素 t key 返回查詢結果 class myutil else if key.compareto x mid 0...

分治演算法 二分搜尋

一.演算法簡介 以有序表表示靜態查詢表時,查詢函式可以用二分查詢 binary search orhalf intervalsearch 來實現。這種演算法基於分治。二 複雜度分析 二分查詢的時間複雜度是 o log n 最壞情況下的時間複雜度是 o n 三 演算法思想及步驟 二分查詢 binary...

演算法小結 二分搜尋

二分搜尋 二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置記錄將表...