![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
LuFAn~
这个作者很懒,什么都没留下…
展开
-
二叉堆的Python实现
二叉堆是指满足堆次序(堆积性质)的完全二叉树。其中堆积性质值任何一个节点X,其父节点P中的key均小于x中的key,即符合堆积性质的二叉树其中任何一条路径都是一个有序数列,根节点key最小。完全二叉树是指叶节点最多只出现在底层和次底层,最底层节点连续集中在最左边(左对齐),每个内部节点都有两个子节点(最多一个例外)的二叉树。同时满足上述两个条件即可形成一个二叉堆。、二叉堆的Python实现#5.二叉堆class BinHeap: def __init__(self): s原创 2020-05-31 16:46:29 · 511 阅读 · 0 评论 -
二叉树的Python实现
树是一种非线性结构,二叉树是指每个节点最多有两个子节点的二叉树。Python实现二叉树可以有两种方法,基于列表的方法和基于链表的方法。1.列表实现嵌套列表可实现二叉树,应用递归的思路。采用列表[root,left,right]表示根节点和左右子节点,该方法易扩展到多叉树(增加列表元素即可)。#1.列表实现二叉树def BinaryTree(r): return [r, [], []]def InsertLeft(root, newBranch): t = root.pop(1)原创 2020-05-31 16:36:18 · 557 阅读 · 0 评论 -
Python 实现链表
链表与其他数据结构例如列表的区别在于无需使用连续存储空间。链表在添加和删除数据时对原有数据移动小,但查寻和遍历较慢。1.单链表的实现1.1 定义结点##3.1Node定义class Node: def __init__(self,initdata): self.data=initdata self.next=None def getData(self): return self.data def getNext(self):原创 2020-05-15 09:56:05 · 193 阅读 · 0 评论