二进制搜索(查找)

二进制搜索(二进制查找)是一个非常快的搜索算法。这种搜索算法适用于分裂和治之的原则。对于该算法正确工作数据收集应是有序的形式。

二进制搜索通过比较集合的中部项目来搜索的特定项目。如果出现匹配,那么返回项目的索引。如果中间项大于项目,然后项目是在搜索子数组中间项目的右侧的项目,否则其它会在位于子数组中间项左侧搜索。 这个过程一直持续在子数组中操作直到子数组的大小减少到零。

二进制搜索减半搜索的项目,从而降低比较数量必须作出非常少的数量。

算法

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 midzaixian = ( lowerBound + upperBound ) / 2
Step 5: if A[midzaixian] < x
Step 6: set lowerBound = midzaixian + 1
Step 7: if A[midzaixian] > x
Step 8: set upperBound = midzaixian - 1 
Step 9  if A[midzaixian] = x go to step 11
Step 10: Go to Step 3
Step 11: Print Element x Found at index midzaixian and go to step 13
Step 12: Print element not found
Step 13: Exit

要查看二进制搜索使用数组实现在C语言编程,请点击这里


上一篇: 线性搜索实例程序(C语言) 下一篇: 二进制搜索/查找程序(C语言)