二进制搜索(二进制查找)是一个非常快的搜索算法。这种搜索算法适用于分裂和治之的原则。对于该算法正确工作数据收集应是有序的形式。
二进制搜索通过比较集合的中部项目来搜索的特定项目。如果出现匹配,那么返回项目的索引。如果中间项大于项目,然后项目是在搜索子数组中间项目的右侧的项目,否则其它会在位于子数组中间项左侧搜索。 这个过程一直持续在子数组中操作直到子数组的大小减少到零。
二进制搜索减半搜索的项目,从而降低比较数量必须作出非常少的数量。
算法
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语言)