當前位置:成語大全網 - 書法字典 - DFT詞典

DFT詞典

二分搜索法,也稱為半搜索,是壹種有效的搜索方法。

二分搜索法要求:1。必須采用順序存儲結構。

2.必須根據關鍵詞大小有序排列。

兩次搜索方法的優點和缺點是比較次數更少、搜索速度更快和平均性能更好。它的缺點是需要對要查找的列表進行排序,並且難以插入和刪除。因此,對半搜索的方法適用於搜索沒有頻繁變化的頻繁有序列表。

該算法的思想是:首先將表格中間記錄的關鍵詞與搜索關鍵詞進行比較,如果相等,則搜索成功;否則,使用中間位置記錄將表分成兩個子表。如果中間位置記錄的關鍵字大於搜索關鍵字,則進壹步搜索前面的子表,否則進壹步搜索後面的子表。

重復上述過程,直到找到滿足條件的記錄使搜索成功,或者直到子表不存在,此時搜索不成功。

算法復雜度假設其數組長度為n,算法復雜度為o(log(n))。

下面提供了二分搜索法實現的偽代碼:

二元搜索(最大、最小、最小)

mid-& lt;(最大值+最小值)/2

while(min & lt;=最大值)

中間值=(最小值+最大值)/2

如果

mid=des

然後

返回

中間的

埃爾塞夫

中間的

& gt數據加密標準

然後

max=mid-1

其他

min=mid+1

返回

最大

半搜索方法,也稱為二分搜索法方法,充分利用元素之間的順序關系,采用各個擊破的策略,在最壞的情況下可以使用O(log。

n)完成搜索任務。它的基本思想是將n個元素分成數量大致相同的兩半,將a【n/2】與要查找的X進行比較,如果X = a【n/2】,則查找X,算法終止。諸如

水果x & ltA【n/2】,那麽我們只需要在數組A的左半部分繼續搜索X即可(假設此處數組元素按升序排列)。如果x & gta【n/2】,那麽我們只需要在數組a的右邊。

其中壹半人繼續尋找x。

【編輯本段】C語言代碼

(同Internationalorganizations)國際組織

BinSearch(序列

r,鍵類型

k ){

//在有序表R【1中執行二分搜索法...n】,如果成功則返回節點的位置,如果失敗則返回零。

(同Internationalorganizations)國際組織

低=1,高=n,mid

//設置當前搜索間隔的上限和下限的初始值。

while(low & lt;=高){

//當前搜索間隔r【低...高】不是空的。

mid=low+((高-低)/2);//使用

(低

+

高)

/

2

會出現整數溢出問題。

if(R【mid】。key==K)

返回

mid

//搜索成功返回。

if(R【mid】。key & gtk)

高位=中位1;

//繼續在r【low中搜索...mid-1】

其他

low = mid+1;

//繼續在r【mid+1中搜索...高】

}

返回

0;

//低電平時& gt高表示搜索間隔為空,搜索失敗。

}

//BinSeareh