算法导论第三版 练习2.3-5

二分查找伪代码:迭代

Binary-Search(A,low,high,x)

while(low<=high)
   mid=(low+high)/2
 if(A[mid]==x)
   return mid
 else if (A[mid]>x)
    high=mid-1
 else  
    low=mid+1
return  null


二分查找伪代码:递归
Binary-Search(A,low,high,x)
if(low>high)
   return null
mid=(low+high)/2
if(A[mid]==x)
   return mid
else if (A[mid]>x)
   return Binary-Search(A,low,mid-1,x)
else
   return Binary-Search(A,mid+1,high,x)
   
证明很简单,画树即可。T(n)=T(n/2)+O(1)


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。