Python算法:二分查找巩固
最近准备去找工作,时隔几年又要把在学校时代压床底的算法掏出来吹吹灰尘了,真有种朝花夕拾的感觉…哈哈哈哈
毕竟如果面试要是写不出来,那真是太尴尬了。
运行环境 Runtime environment
1 | 操作系统: Windos10 |
背景
我就说一句“要啥自行车?”。二分查找这玩意是啥查一查不是大把多解释的嘛?哈哈哈哈
算了,还是认真说一说吧。
使用情景
这并不难理解。举个例子:
1 | 我要查字典中的一个汉字,“哦”。 |
有序列表 二分查找实现
在这里使用Python实现二分查找,代码如下:
1 | def binary_search(tempList, tempItem): |
运行结果:
1 | [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] |
总结
二分查找的速度比简单查找绝对快得多。
从头遍历到尾的查找方式是既耗时又浪费资源的,以后尽量避免。
在我看来二分查找有点快速排序是有点相似的,不过一个是查找方法,一个是排序算法
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 快乐咸鱼のRaXianch窝!
评论
WalineValine