Python中实现二分查找的两种方法
我大概收集了两种写法,分别是循环和递归两个方式
二分查找:搜索一般是从列表的中间开始查找,如果中间刚好是目标值,则搜索结束,返回结果;如果目标值大于中间值,则按这个中间值分割列表,在大于中间值的这部分列表里继续查找;如果目标值小于中间值,则按这个中间值分割列表,在小于中间值的这部分列表里继续查找。
这里需要注意的是如果想要使用二分查找,前提需要先将列表排序,这样才能实现;(排序算法在后尾贴出了)
二分查找
1 | lst = [10389, 60076, 61238, 61266, 64305, 64317, 65705, 66507, 73590, 75721] |
快速排序
1 | def quick_sort(lst, i, j): |