关注码农话题
做一个实实在在的内行人

二进制搜索(查找)

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

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

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

算法

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

入职你的梦想 VS 变现你的技术

IT面试宝典码农市场