数据结构:二分查找python实现
生活随笔
收集整理的這篇文章主要介紹了
数据结构:二分查找python实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二分查找是分而治之策略很好的例子,這里給出了兩種實現,其中一種是使用遞歸方式實現。
#二分法 #遞歸查找 def Binary_search(alist, item, first, last):found = Falsewhile first <= last and not found:mid = (first + last) // 2if alist[mid] == item:return Trueelif alist[mid] < item:last = mid-1Binary_search(alist, item, first, last)else:first = mid+1Binary_search(alist, item, first, last)return founddef binarySearch(alist, item):first = 0last = len(alist) - 1found = Falsewhile first <= last and not found:mid = (first + last) // 2if alist[mid] == item:return Trueelse:if item < alist[mid]:last = mid - 1else:first = mid + 1return found testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42,] print(Binary_search(testlist, 3, 0, 8)) print(Binary_search(testlist, 13, 0, 8))print(binarySearch(testlist, 3)) print(binarySearch(testlist, 13))?
總結
以上是生活随笔為你收集整理的数据结构:二分查找python实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法设计:动态规划问题
- 下一篇: python:else与循环语句联合用法