首页IT科技python 树结构可视化(python数据结构堆的介绍)

python 树结构可视化(python数据结构堆的介绍)

时间2025-06-19 00:30:04分类IT科技浏览5847
导读:说明...

说明

1             、堆是用数据结构来实现的一种算法:树             ,数组均可                。堆本身是一棵完全二叉树                     。

2                        、特点                        ,堆:所有父节点的值大于子节点的值        。最小堆        ,所有父节点的值小于子节点的值            。

实例

classHeap(object): def__init__(self,list=[]): self.root=None self.list=list self.tree=None self.len=len(list) #建堆 defbulid_heap(self): ifself.list!=[]: final_parent_node=int((self.len-1)/2) whilefinal_parent_node>=0: self.heapfy(final_parent_node,self.len) final_parent_node-=1 #对当前节点以及向下所有子节点的一次节点交换 defheapfy(self,node,len): node_left=2*node+1 node_right=2*node+2 max=node ifnode_left<lenandself.list[node_left]>self.list[max]: max=node_left ifnode_right<lenandself.list[node_right]>self.list[max]: max=node_right ifmax!=node: self.swap(max,node) self.heapfy(max,len) #交换元素方法 defswap(self,i,j): self.list[j],self.list[i]=self.list[i],self.list[j] #堆排序 defheap_sort(self): len=self.len-1 whilelen>=0: self.swap(0,len) self.heapfy(0,len) len-=1 if__name__=="__main__": list=[5,7,3,1,10,0] heap=Heap(list) print("初始列表:{}".format(heap.list)) heap.bulid_heap() print("堆化:{}".format(heap.list)) heap.heap_sort() print("排序:{}".format(heap.list))

以上就是python数据结构堆的介绍         ,希望对大家有所帮助                     。更多Python学习指路:Python基础教程

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
手机赚钱平台正规app有哪些手机赚钱正规大平台有哪些-教你用手机赚钱的十种方法,手机微信日入100元怎么做 发视频就能赚钱的软件叫什么来着(发视频看视频赚钱软件叫什么-【赚钱软件】短视频这么火的当下,如何从中获利呢? | 10.24线报)