二進位制搜尋(二進位制查詢)是一個非常快的搜尋演算法。這種搜尋演算法適用於分裂和治之的原則。對於該演算法正確工作資料收集應是有序的形式。
二進位制搜尋通過比較集合的中部專案來搜尋的特定專案。如果出現匹配,那麼返回專案的索引。如果中間項大於專案,然後專案是在搜尋子陣列中間專案的右側的專案,否則其它會在位於子陣列中間項左側搜尋。 這個過程一直持續在子陣列中操作直到子陣列的大小減少到零。
二進位制搜尋減半搜尋的專案,從而降低比較數量必須作出非常少的數量。
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語言程式設計,請點選這裡