让你秒懂的折半查找(二分查找)
生活随笔
收集整理的這篇文章主要介紹了
让你秒懂的折半查找(二分查找)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
折半查找又稱二分查找,只能適用于有序的順序表。
//折半查找 int Bsearch(int R[],int low,int high,int key){int min;while(low<=high){mid=(low+high)/2; //取中間位置if(R[mid]==key) //查找成功return mid;else if(R[mid]>key)high=mid-1; //從前半部分繼續查找 elselow=mid+1; //從后半部分繼續查找 }return -1; //查找失敗 }折半查找的過程可用二叉樹來描述,稱為判定樹。圓形結點表示數組中存在的元素,矩形葉結點表示查找失敗的元素。
等概率查找時,n個元素查找成功的ASL(平均查找長度)=log(n+1),log(n+1)應向上取整,但是那個符號敲不出來。。。
總結
以上是生活随笔為你收集整理的让你秒懂的折半查找(二分查找)的全部內容,希望文章能夠幫你解決所遇到的問題。