摘要: 二叉树关键在构建和遍历,python实现相对简单,我们在实现需要用到类,分别设置爱左右子树,根节点,然后从根进行遍历,进行判断,若为空进行树的构建,非空则返回到列表中即可,我在进行遍历时产生了一个错误思想:把根放到树中遍历,这样发现遍历时会产生一个属性缺失的错误,后来浏览数次代码没有发现这个问题,查找了一些资料才意识到,短板:类运用的不熟练。class Node(object): def _... 阅读全文
posted @ 2018-10-07 22:11 kailicard 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 二分查找就是待查找的列表进行分半搜索如下所示二分查找普通实现:def erfen(alist, item): start = 0 end = len(alist) - 1 while start item: end = n - 1 else: start = n + 1 return Falsealist = [0... 阅读全文
posted @ 2018-10-07 17:25 kailicard 阅读(298) 评论(0) 推荐(0) 编辑
摘要: def merger_sort(alist): if len(alist) <= 1 : return alist num=int(len(alist)/2) left=merger_sort(alist[:num]) right=merger_sort(alist[num:]) #分前后两个顺序 return merger(left,right... 阅读全文
posted @ 2018-10-07 11:38 kailicard 阅读(170) 评论(0) 推荐(0) 编辑
摘要: def shell_sort(alist): n=len(alist) gap= int(n / 2) #步长 while gap>0: for i in range(gap,n): j=i while j>=gap and alist[j-gap] > alist[j]: alist[j-g... 阅读全文
posted @ 2018-10-07 10:37 kailicard 阅读(287) 评论(0) 推荐(0) 编辑