python 数据结构之二分查找的递归和普通实现
2021-05-15 21:28
阅读:754
标签:pytho round splay .com div play idt height isp
二分查找就是待查找的列表进行分半搜索
如下所示
二分查找普通实现:
def erfen(alist, item): start = 0 end = len(alist) - 1 while start end: n = int((start + end) / 2) if alist[n] == item: return True elif alist[n] > item: end = n - 1 else: start = n + 1 return False alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(erfen(alist,10)) print(erfen(alist, 3))
递归实现:
#import sys #sys.setrecursionlimit(1000000) """解决maximum recursion depth exceeded error """ def erfen(alist,item): if len(alist) == 0: return False else: mid=int(len(alist)/2) if alist[mid] == item : return True elif item alist[mid]: return erfen(alist[:mid],item) else : return erfen(alist[mid+1:],item) alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(erfen(alist,10)) print(erfen(alist, 3))
python 数据结构之二分查找的递归和普通实现
标签:pytho round splay .com div play idt height isp
原文地址:https://www.cnblogs.com/kk328/p/9750675.html
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:python 数据结构之二分查找的递归和普通实现
文章链接:http://soscw.com/index.php/essay/85957.html
文章标题:python 数据结构之二分查找的递归和普通实现
文章链接:http://soscw.com/index.php/essay/85957.html
评论
亲,登录后才可以留言!