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

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

时间2025-08-02 17:57:56分类IT科技浏览6945
导读:说明...

说明

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
文案自动生成视频软件有哪些(免费自动生成文案的软件有哪些) 排名优化的六大原则(让你的网站排名更上一层楼)