Python二分查找与快速排序实现详解及常见Bug分析

远山来客
远山来客
发布时间:2026-10-13 | 2人浏览过
原创

本文详细解析Python中二分查找与快速排序的实现逻辑,重点指出代码中存在的逻辑缺陷与潜在Bug。通过具体实例展示排序与查找过程,帮助开发者理解算法细节并避免常见错误,提供完整的代码参考与调试建议。

这两个算法看似原理简单,但在实际编码实现中却涉及诸多细节。起初以为编写这两个小程序会非常轻松,但在实际动手过程中却发现bug频发,因此记录此过程以作纪念。

#usr/bin/env python
def binary_search(lst,t):
  low=0
  height=len(lst)-1
  quicksort(lst,0,height)
  print lst
  while low<=height: 
    mid = (low+height)/2
    if lst[mid] == t:
      return lst[mid]
    elif lst[mid]>t:
      height=mid-1
    else:
      low=mid+1
  return -1
def quicksort( lst, left , right):
  low=left
  high=right
  key=lst[left]
  if left>=right:
    return 0
  while low<high:
    while low<high and key<lst[high]:
      high=high-1
    lst[low]=lst[high]
    while low<high and key>lst[low]:
      print lst[low]
      low=low+1
    lst[high]=lst[low]
    lst[low]=key
  quicksort( lst , left ,low-1)
  quicksort( lst , low+1 , right)
if __name__=='__main__':
  print binary_search([4,8,1,5,10,2,12,3,6,9],4)

总结

以上所述是小编给大家介绍的python 二分查找和快速排序实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表