发布时间:2022-11-20 11:30
例一前言
例一要求
例一解析
二分法流程图分析
例一答案
例二前言
例二要求
例二解析
例二答案
例题二思考
如果有一个列表 'l',要 让你从这个列表中找到66的位置,你要怎么做?
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
你可能使用以下方法会很简单的到结果:
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88] print('l中66的索引位置是:',l.index(66)) 输出结果: l中66的索引位置是: 17
我们之所以用index方法可以找到,是因为python内部帮我们实现了查找方法。如果题目明确规定index方法不给你用了,并且只能够使用算法查找,你还能找到这个66么?
使用二分查找算法实现列表中index方法的功能,例如给你一个列表
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
通过调用你写的find函数可以返回该列表中你想查找的元素的下标,如果你想查找的元素不在该列表中调用find函数则返回'你想要的值不在该列表中'
- 简述一下算法: