当前位置: 首页 > 编程笔记 >

python 二分查找和快速排序实例详解

闻人举
2023-03-14
本文向大家介绍python 二分查找和快速排序实例详解,包括了python 二分查找和快速排序实例详解的使用技巧和注意事项,需要的朋友参考一下

思想简单,细节颇多;本以为很简单的两个小程序,写起来发现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 二分查找和快速排序实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍C语言快速排序与二分查找算法示例,包括了C语言快速排序与二分查找算法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C语言二分排序与查找算法。分享给大家供大家参考,具体如下: 题目:首先产生随机数,再进行快速排序,再进行二分查找。 实现代码: 心得与体会: 二分查找比较容易理解,就是折半查找法,所以要求数据必须是有序数列。不断比较中间值。 快速排序是应用了递归,首先确定一

  • 本文向大家介绍PHP快速排序算法实例分析,包括了PHP快速排序算法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP快速排序算法。分享给大家供大家参考,具体如下: 快速排序:在无序的数组$data中,选择任意一个值作为对比值,定义i为头部检索索引,j为尾部检索索引, 算法步骤: (1)初始化对比值$value=$data[0],$i=1,$j=count($data)-1 (2

  • 本文向大家介绍javascript与Python快速排序实例对比,包括了javascript与Python快速排序实例对比的使用技巧和注意事项,需要的朋友参考一下 本文实例对比了javascript与Python快速排序实现方法。分享给大家供大家参考。具体如下: js实现方法: python实现方法: 希望本文所述对大家的javascript及Python程序设计有所帮助。

  • 本文向大家介绍JS排序之快速排序详解,包括了JS排序之快速排序详解的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了JS快速排序的具体代码,供大家参考,具体内容如下 说明 时间复杂度指的是一个算法执行所耗费的时间 空间复杂度指运行完一个程序所需内存的大小 稳定指,如果a=b,a在b的前面,排序后a仍然在b的前面 不稳定指,如果a=b,a在b的前面,排序后可能会交换位置 --JS快速排序--

  • 本文向大家介绍快速排序和分治排序介绍,包括了快速排序和分治排序介绍的使用技巧和注意事项,需要的朋友参考一下 快速排序让我看了很久,也折磨了我很长时间,因为大体上的思路我是有了,但是写代码时总是出现各种问题,要想把它调试出来对我个人来说还是有一定难度的,而且因为工作和偷懒的原因,导致之前调试不出来的错误放了很久,今天终于出来啦,还是有些小激动的哦,下面来分享一下我的代码并做一点点说明。   要学会快

  • 本文向大家介绍python有序查找算法 二分法实例解析,包括了python有序查找算法 二分法实例解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python有序查找算法 二分法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 但是