python---自己实现二分法列表查找
这是以我自己的思维来实现的,没有用递归。
# coding = utf-8 # 二分查找,适用于有序列表,日常编程用不到,因为index函数可以搞定的。 # 查找到数字,返回列表中的下标,找不到数字,返回-1。 def binary_search(search_list, item): begin = 0 end = len(search_list) while begin < end: mid = (begin+end) // 2 if search_list[mid] > item: end = mid else: if search_list[mid] < item: begin = mid + 1 else: return mid return -1 if __name__ == '__main__': list1 = [1, 4, 5, 6, 9, 13, 26, 32, 34, 89, 321, 546, 4332] item = 9 print(binary_search(list1, item))
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
C:\Users\Sahara\.virtualenvs\test\Scripts\python.exe C:/Users/Sahara/PycharmProjects/test/python_search.py 4 Process finished with exit code 0

更多精彩