2019年王道数据结构笔记----树

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37737804/article/details/80354625

树的概念

节点数=边的数+1

满二叉树:一棵深度为k,且有2^k-1个节点的树是满二叉树

完全二叉树:完全二叉树是由满二叉树而引出来的。
		  对于深度为K的,有n个结点的二叉树,
		  当且仅当其每一个结点都与深度为K的满二叉树中
		  编号从1至n的结点一一对应时称之为完全二叉树。

树的遍历

树的递归遍历

递归的思想就是将问题,分解成规模更小、具有与原来问题相同解法的问题,就二叉树遍历而言,就是即先访问根节点,再访问左右子树。问题的规模变小。

树的非递归遍历

树的非递归遍历依靠栈,保留现场。首先访问根节点,当前指针指向根节点,根节点入栈,当前节点有做孩子的话,当前指针指向左孩子,没有的话弹出栈顶,当前指针指向当前元素的右孩子。

树和二叉树转换

将树的左边第一个孩子,当作二叉树的左孩子,第一个孩子的兄弟节点作为作为第一个孩子的右孩子

树和森林转换

二叉排序树的删除

平衡二叉树

平衡二叉树的建立过程
四种旋转情况

在旋转之前,首先要做的是找到最小不平衡子树。即:
离插入结点最近的且平衡因子绝对值大于1的节点作为子树
1.左左 2.右右 3.左右 4.右左
对于“左左”和“右右”的情况,只要进行一次单旋转就可以使其恢复平衡。如下图:

在这里插入图片描述
平衡因子
平衡二叉树排序插入

线索二叉树的构建

赫夫曼树

WPL(带权路径和)
WPL=i=1nwiliWPL=\sum_{i=1}^{n} w_{i}*l_{i}
赫夫曼树:带权路径最短的二叉树称为哈夫曼树或最优二叉树;

参考资料:2019年王道数据结构
下载地址:2019年王道数据结构

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭