国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

編程實現(xiàn)二分查找算法 C語言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個數(shù)?

C語言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個數(shù)?根據(jù)要求,使用二分法在指定的數(shù)組中找到指定的數(shù)字。代碼如下:#include<stdio。H>//在長度為len的數(shù)組a中查找n,如

C語言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個數(shù)?

根據(jù)要求,使用二分法在指定的數(shù)組中找到指定的數(shù)字。代碼如下:#include<stdio。H>//在長度為len的數(shù)組a中查找n,如果找到則返回數(shù)組下標,并返回-1intsearch(inta[]intlen,INTN){intindex=-1intleft=0,right=len,mid=(left)}right)/2while(left<=right){if(n==a[mid]){index=midbreak}elseif(n>a[mid]){left=mid 1mid=(left right)/2}else{right=mid-1mid=(left right)/2}returnindex}intmain(){intarray[]={5、8、13、17、23、25、29、50、53}//數(shù)組intlength=9//數(shù)組長度intaim=17//查找目標//輸出搜索結(jié)果,search17array[]:3printf(“search%dinarray[:%dn”,aim,search(array,length,aim))return0}

#注意我對代碼的評論。請注意,二進制搜索是在升序數(shù)組上執(zhí)行的。。

c語言。利用二分查找法實現(xiàn)一維數(shù)組的查找?

#include<stdio.h>

int seek(int*pArr,int low,int high,int num)

void main()

{

int Arr[]={1,2,3,4,5,6,7,8,9,10}

int find,num

printf(“輸入要查找的數(shù)值。n”)

scanf(“%d”,&num)

find=seek(Arr,0,9,num)

if(find==-1)printf(“num=%d未找到!n“,num)

否則printf(”num已找到!narr[%D]=%Dn,find,arr[find])]}

int seek(int*Parr,int low,int high,int Num)

]{//Parr是數(shù)組的名稱。數(shù)組必須按順序排列(這是二分法的要求),這里按從小到大的順序排序

int mid

mid=(低-高)/2

if((低>=高)&(Parr[mid]!=Num))

return-1

]{

]if(Parr[mid]==Num)

return mid

]else if(Parr[mid]>num)

high=mid 1//中間數(shù)大于要檢查的數(shù),表示它可能在中間段之前

else

Low=mid-1//同上,它可能在中間段之后

return seek(Parr,low,high,Num)//Recursion

}

C語言折半查找法詳細代碼(假如有10個已排好序的數(shù))?

二進制搜索包含n個元素的有序數(shù)組。要分析的比較數(shù)可以通過繪制二叉決策樹來分析。二叉決策樹的高度為[log2(n)]1級,這是二叉搜索的最大比較次數(shù)。例如,如果n=1000,則最大比較次數(shù)為[log2(1000)]1=9,1=10。如果要計算平均比較次數(shù),則需要分析二叉決策樹中的每個節(jié)點。第一級比較一次,第二級比較兩次,第三級比較三次,以此類推,將每個節(jié)點的比較次數(shù)相加,然后節(jié)點數(shù)(元素數(shù))就是平均比較次數(shù)。這里,假設(shè)搜索是在等概率條件下進行的。例如:有一個由九個元素組成的有序數(shù)組,每個元素用1,2,3。。。8, 9. 然后二叉決策樹如下:如圖所示,如果要查找的元素位于第五個位置,則只需進行一次比較即可找到它。如果找到第九個元素,就需要四個比較。該算法分別比較第五、第七、第八和第九個元素。因此,平均比較次數(shù)如下:你能理解這個分析嗎?希望能對你有所幫助。