树形结构

Posted wangmengyu1993

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树形结构相关的知识,希望对你有一定的参考价值。

什么是树(Tree)

只有一个根节点,每个父节点下有一个或多个子节点,每个子节点之间(兄弟节点)不相连

技术图片

 

 关于树, 有三个概念:

高度(height)

节点的高度 = 节点到叶子节点的最长路径(边数)

数的高度 = 根节点的高度

深度(depth)

节点的深度 = 根节点到这个节点所经历的边的个数

层(level)

节点的层数 = 节点的深度 + 1

 

技术图片

 

高度是从下往上度量,计数起点是0

深度是从上往下度量,计数起点是0

层数也是从上往下度量,计数起始点为1,也就是根节点的层数是1

 

二叉树

二叉树的每个节点最多有两个子节点,分别是左子节点右子节点

满二叉树 除了叶子节点,每个节点都有两个子节点

完全二叉树 最后一层子节点靠左排列的叫做完全二叉树,(要么左子节点和右子节点都有,要么只有左子节点并且左子节点后没有叶子节点了)

技术图片

 

 如何存储二叉树

 

以上是关于树形结构的主要内容,如果未能解决你的问题,请参考以下文章

怎么用html 做出可维护的树形结构

js中平级数组和树形结构数据相互转换

如何用Java实现树形结构啊?

java中树形结构怎么实现

js的树形结构怎么实现

java web 树形结构设计