Python程序实现不使用递归的二分查找
当需要实现二分查找但不使用字典时,可以定义一种方法,检查列表的第一个和最后一个索引,并获取列表的中值。
然后将其与需要检查的值进行比较。如果找到,则返回该值。否则,返回-1。
重要的是记住,二分查找仅适用于已排序的元素,无论是升序还是降序。
列表可用于存储异构值(即任何数据类型的数据,例如整数、浮点数、字符串等)。
以下是相同操作的演示 —
例子
输出
解释
- 定义名为“binary_search”的方法,将列表和要搜索的元素作为参数。
- 将变量low分配给0,将变量mid分配给0。
- 变量high被分配为列表的长度-1。
- 当值“low”小于或等于“high”时,执行位运算除法以获取“mid”变量的值。
- 首先从低到中索引搜索元素,如果该值小于中索引处的值。
- 否则,如果该值大于中且小于高,则从中到高索引搜索元素。
- 现在定义一个列表。
- 通过将上面的列表作为参数调用该方法。
- 将此操作的数据存储在变量中。
- 该变量是在控制台上显示的输出。