二進制搜索(查找)

二進制搜索(二進制查找)是一個非常快的搜索算法。這種搜索算法適用於分裂和治之的原則。對於該算法正確工作數據收集應是有序的形式。

二進制搜索通過比較集合的中部項目來搜索的特定項目。如果出現匹配,那麼返回項目的索引。如果中間項大於項目,然後項目是在搜索子數組中間項目的右側的項目,否則其它會在位於子數組中間項左側搜索。 這個過程一直持續在子數組中操作直到子數組的大小減少到零。

二進制搜索減半搜索的項目,從而降低比較數量必須作出非常少的數量。

算法

Binary Search ( A: array of item, n: total no. of items ,x: item to be searched)
Step 1: Set lowerBound = 1
Step 2: Set upperBound = n
Step 3: if upperBound < lowerBound go to step 12
Step 4: set midYiibai = ( lowerBound + upperBound ) / 2
Step 5: if A[midYiibai] < x
Step 6: set lowerBound = midYiibai + 1
Step 7: if A[midYiibai] > x
Step 8: set upperBound = midYiibai - 1
Step 9 if A[midYiibai] = x go to step 11
Step 10: Go to Step 3
Step 11: Print Element x Found at index midYiibai and go to step 13
Step 12: Print element not found
Step 13: Exit

要查看二進制搜索使用數組實現在C語言編程,請點擊這裏