![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
盼盼呀咦呀咦呀~
这个作者很懒,什么都没留下…
展开
-
python最大堆的实现且判断是否为最大堆
class Heap: def __init__(self): self.data=[] @staticmethod def _parent(idx): return (idx-1)//2 @staticmethod def _left(idx): return idx*2+1 @staticmethod def _right(idx): return idx*2+2原创 2021-12-10 18:19:12 · 689 阅读 · 0 评论 -
python 归并排序
归并排序的思想是:递归思想def merge(l1,l2): merged=[] i1=i2=0 while i1<len(l1) or i2<len(l2): if i2==len(l2) or (i1<len(l1) and l1[i1]<l2[i2]): merged.append(l1[i1]) i1+=1 else: merged.append(原创 2021-11-02 23:23:08 · 54 阅读 · 0 评论 -
汉诺塔python实现
汉诺塔python 实现height=5towers=[[] for _ in range(3)]towers[0]=list(range(height,0,-1))from time import sleepfrom IPython.display import clear_outputdef display(): clear_output(True) print('{:^12}'.format('||')*3) for level in range(height,原创 2021-11-02 22:46:01 · 487 阅读 · 0 评论 -
python实现字典(带hash考虑hash碰撞)
class Hashtable: class Node: def __init__(self,key,val,next=None): self.key=key self.val=val self.next=next def __init__(self,n_buckets=1000): self.n_buckets=[None]*n_buckets def __setitem_原创 2021-10-04 15:05:46 · 182 阅读 · 0 评论 -
python实现字典(无hash的方式)
#实现字典class Mapds: def __init__(self): self.data=[] def __setitem__(self, key, value): for i in range(len(self.data)): if self.data[i][0]==key: self.data[i][1]==value return else.原创 2021-10-02 23:12:29 · 112 阅读 · 0 评论 -
python二分查找
#python二分查找def bin_search(lst,x): low=0 hi=len(lst)-1 while hi>=low: mid=(low+hi)//2 if x<lst[mid]: hi=mid-1 elif x>lst[mid]: low = mid + 1 else: return True retu原创 2021-10-02 22:15:37 · 64 阅读 · 0 评论