python之二分法排序附送第三种最快排序法
每次能够排除掉一半的数据. 查找的效率非常高. 但是局限性比较大. 必须是有序序列才可以使用二分查找
要求: 查找的序列必须是有序序列.
例1、正常二分查找法
1 | # num为用户要查找的数字 |
例2、递归二分查找法
1 | # 查找数字 |
例3、切片二分查找法(优点:代码少;缺点:获取不到查找结果的索引)
1 | # 查找数字 |
最后附送一个面试查找算法,时间空间都最优的写法(直接取值)
1 | # 查找数字 |
每次能够排除掉一半的数据. 查找的效率非常高. 但是局限性比较大. 必须是有序序列才可以使用二分查找
要求: 查找的序列必须是有序序列.
1 | # num为用户要查找的数字 |
1 | # 查找数字 |
1 | # 查找数字 |
1 | # 查找数字 |