标签:str strong 表示 es2017 分享 操作 数据 后续遍历 位置
1、树的一些定义
1.1 树
有且只有一个称为根的节点;
有若干个互不相交的子树,这些子树本身也是一棵树。
1.2 深度
从根节点到最底层节点的层数成为深度,根节点是第一层。
1.3 度
最大子节点的个数称之为度。
2、树分类
2.1 一般树
任意一个节点的子节点的个数都不受限制
2.2 二叉树
任意一个节点的子节点个数最多两个,且子节点的位置不可更改。
分类
一般二叉树
满二叉树
在不增加树深度的情况下,无法再添加一个节点的二叉树是满二叉树。
完全二叉树
如果只删除了最底层最右边的连续若干个节点,这样形成的二叉树就是完全二叉树。
2.3 森林
n个互不相交的树的集合
3、树的存储
3.1 二叉树的存储
连续存储
优点:
查找某个节点的父节点和子节点
缺点
耗用内存空
链式存储
3.2 一般树的存储
双亲表示法
求父节点方便
孩子表示法
求子节点方便
双亲孩子表示法
求父节点和子节点都很方便
二叉树表示法
把一个普通树转换为二叉树来存储
具体方法:
设法保证任意一个节点的左指针域向它的第一个孩子,右指针域指向它的堂兄弟,只要满足此条件,就可以把一个普通树转化为二叉树。
3.3 森林的存储
先把森林转化为二叉树,再存储二叉树。
4、树操作
4.1 先序遍历
4.2 中序遍历
4.3 后续遍历
标签:str strong 表示 es2017 分享 操作 数据 后续遍历 位置
原文地址:http://www.cnblogs.com/eager/p/7577340.html