二、6.树结构和二叉树

6.树结构和二叉树:树结构中每个元素最多只有一个前驱,但可能有多个后继,体现出明显的层次关系。
6.1树的相关概念 6.2树的存储结构与遍历 6.3二叉树
树的基本概念
下面的关于Tree的术语主要来自维基百科

在这里插入图片描述
height
在这里插入图片描述
需要注意的是叶子节点的高度为0,如果树只有一个节点,那么这个节点的高也是0
depth
在这里插入图片描述
需要注意的是根节点的深度(Depth)是0.
从Height和Depth的对比,它们的方向刚好是相反的。

2.二叉树是一个每个最结最多只能有两个分支的树,左边的分支称之为左子树,右边的分支称之为右子树。
也就是说二叉树节点的度最大也就是2,而普通的树,节点的度是没有限制的。
完美/满二叉树(Perfect Binary Tree)
完美二叉树也有很多教材上称之为满二叉树。完美二叉树满足两个特性:

所有的几点都包含两个子节点
所有的叶子节点的Height或者Level都相等
在这里插入图片描述

完全二叉树(Complete Binary Tree)
完全二叉树是 除了最后一层都是满的(都有两个子节点),并且最后一层的节点是从左往右排列的。
完全二叉树,通俗点说就是节点按层从左往右排列。如果最后一层排满了就是完美二叉树,没有满则是完全二叉树。
所以完美二叉树一定是完全二叉树,完全二叉树不一定是完美二叉树。

一个完全二叉树可以高效的使用数组来表示。
在这里插入图片描述

完满二叉树(Full Binary Tree)
完满二叉树就简单了,就是每个节点都有两个子节点。也就是说它比完美二叉树少了一个条件。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/q386538588/article/details/86468509