當前位置:首頁 » 編程語言 » 二分法c語言程序查找

二分法c語言程序查找

發布時間: 2024-07-20 18:02:38

㈠ C語言 二分法查找次數公式怎麼推導

對具有n個元素的有序數組進行二分法查找,要分析的比較次數,可以使用畫二叉判定樹的方法來分析。該二叉判定樹的高度為[log2(n)]+1層,此即為二分查找的最多比較次數,比如:n=1000,則最多比較[log2(1000)]+1=9+1=10次。

如果要計算平均的比較次數,則需要對二叉判定樹中的每個節點進行分析,處於第一層的比較1次,第二層的比較2次,第三層比較3次,依次類推……把各個節點的比較次數累加,再處於節點數(元素個數)即為平均比較次數,這里假設查找是在等概率的情況下進行的。

舉個例子:有9個元素的有序數組,對每個元素按1,2,3...8,9進行編號,則其二叉判定樹如下:



這樣分析,能看懂嗎?希望能幫到你!

㈡ C語言二分法查找

二分法查找又稱折半查字法;
思路是.恩!
舉例吧0,1,2,3,4,5,6,7,8中找5取數組中的一半也就是地五個4與5比較,如果4>5(就是中間的那個數比要找的那個大,那麼就取那個數之前的那部分);如果4<5(就是中間的那個數比要找的那個小,就取那個數只後的那部分);如此循環下去;
不好意思,語文沒學好,表達不清楚

㈢ C語言編程二分法

1、打開Python開發工具IDLE,新建『search.py』。

㈣ C璇璦涓浜屽垎娉曠殑鍏蜂綋紼嬪簭鏄浠涔堝憿錛

涓句釜渚嬪瓙:
//浜屽垎鏌ユ壘娉//
# include<stdio.h>
void main()
{
int a[16],i,num,flag=0,top,bottom,mid;
//瀹氫箟涓涓涓緇存暟緇刟[16]鐢ㄦ潵瀛樻斁渚涙煡鎵劇敤鐨勬暟鎹,浣嗗彧鐢╝[1]鈥斺攁[15]//
//num鐢ㄦ潵鏀捐佹煡鎵劇殑鏁版嵁錛宖lag鏄琛ㄧず鏄鍚︽壘鍒扮殑寮鍏沖彉閲忥紝top琛ㄧず鏌ユ壘鐨勮搗濮嬩綅緗錛宐ottom琛ㄧず鏌ユ壘鐨勭粓姝浣嶇疆錛宮id琛ㄧずtop涓巄ottom鐨勪腑闂翠綅緗//
char goon;
//鍙橀噺goon涓'y'鎴'Y'鏃惰〃紺虹戶緇涓嬩竴杞鏌ユ壘錛屽惁鍒欑粓姝㈢▼搴//
printf("璇瘋緭鍏ョ1涓鏁板瓧錛\n");
scanf(" %d",&a[1]);

//渚濇¤緭鍏ョ浜屽埌絎鍗佷簲涓鏁幫紝騫惰佹眰杈撳叆鐨勬暟閫掑噺//
for(i=2;i<=15;i++)
{
printf("璇瘋緭鍏ョ%d涓鏁板瓧錛\n",i);
scanf(" %d",&a[i]);
if(a[i]>=a[i-1])
{
printf("璇峰啀嬈¤緭鍏ワ紝瀹冨簲璇ユ瘮涓婁竴涓鏁板皬錛\n");
scanf(" %d",&a[i]);
}
}

//杈撳嚭鍒氭墠杈撳叆鐨勬暟//
printf("浣犲垰鎵嶈緭鍏ョ殑鏁版槸錛\n");
for(i=1;i<=15;i++)
printf(" %d",a[i]);
printf("\n");

//鏌ユ壘寰鐜寮濮//
do
{
printf("鐜板湪璇瘋緭鍏ヤ綘瑕佹煡鎵劇殑鏁幫細\n");//杈撳叆鎯寵佹煡鎵劇殑鏁//
scanf(" %d",&num);
top=15;
bottom=1;
mid=15/2+1;
if(num>a[1] || num<a[15])//濡傛灉瑕佹煡鎵劇殑鏁版嵁涓嶅湪瑙勫畾鑼冨洿鍐咃紝浠flag=1錛岃緭鍑鴻秴鍑鴻寖鍥寸殑淇℃伅//
{
flag=1;
printf("浣犳墍瑕佹煡鎵劇殑鏁板瓧涓嶅湪鑼冨洿鍐咃紒\n");
}

while(flag==0 && (top-bottom)>0)//濡傛灉鍦ㄨ勫畾鐨勮寖鍥村唴錛屽紑濮嬩簩鍒嗘硶鏌ユ壘//
{
if(num==a[mid])//鎵懼埌鎵闇鏁版嵁錛岄鍑烘湰灞傚驚鐜//
{
printf("浣犳墍瑕佹煡鎵劇殑鏁板瓧鏄絎%d涓銆\n",mid);
flag=1;
}
else if(num>a[mid])//濡傛灉瑕佹煡鎵劇殑鏁版嵁姣攁[mid]澶э紝鍦ㄥ墠鍗婃暟緇勬煡鎵//
{
top=mid+1;
mid=(top+bottom)/2;
}
else //濡傛灉瑕佹煡鎵劇殑鏁版嵁姣攁[mid]灝忥紝鍦ㄥ悗鍗婃暟緇勬煡鎵//
{
bottom=mid-1;
mid=(top+bottom)/2;
}
}

if(flag==0)//濡傛灉鏈鎵懼埌鏁版嵁錛岃緭鍑烘壘涓嶅埌鐨勪俊鎮//
printf("鏃犳硶鎵懼埌浣犺佹壘鐨勬暟瀛楋紒\n");

printf("鏄鍚︾戶緇鏌ユ壘錛(Y/N)錛\n");//璇㈤棶鏄鍚﹀紑濮嬩笅涓杞鏌ユ壘//
scanf(" %c",&goon);
}while(goon=='y' || goon=='Y');
}

熱點內容
租用雲伺服器需要專業知識嗎 發布:2024-11-26 05:58:04 瀏覽:560
明日之後榴彈炮武器如何配置 發布:2024-11-26 05:49:59 瀏覽:497
商賽中演算法 發布:2024-11-26 05:48:28 瀏覽:291
校園論壇源碼 發布:2024-11-26 05:42:35 瀏覽:568
民生銀行pin密碼是多少 發布:2024-11-26 05:31:24 瀏覽:775
sql獲取日期部分 發布:2024-11-26 05:25:06 瀏覽:743
怎麼才能把安卓數據轉移到蘋果手機上 發布:2024-11-26 05:14:35 瀏覽:851
手機對比參數配置常看的有哪些 發布:2024-11-26 05:01:23 瀏覽:891
qq默認存儲路徑修改 發布:2024-11-26 04:55:02 瀏覽:710
為什麼吉利配置那麼高 發布:2024-11-26 04:49:20 瀏覽:431