数据结构与算法之树
数据结构与算法之树(一)二叉树概念及遍历方式(图文并茂)
文章目录
一、树的基本概念
首先我们看一看树长什么样
以上都是我画的树,其中每个元素我们称之为节点,用线连着相邻两个元素的关系我们称为父子关系
我们以下面这副图来讲解树中的各种概念
在上述这副图中,我们可以说A节点
是B节点
的父节点,B节点
是A节点
的子节点
因为B、C、D三个节点
它们的父节点
都是A节点
,所以称它们为兄弟节点
我们把没有父节点
的节点称为根节点,如A节点
就是一个根节点
我们把没有子节点
的节点称为叶子节点或叶节点,如E、F、G节点
关于树的概念还有高度、深度、层
高度:该节点到叶节点经历的边数
深度:该节点到根节点经历的边数
层:该节点的深度+1
树的高度:根节点的高度
上面这几个概念可能不好理解,看一下下面这个例子就好理解了
到这里你应该搞懂了树的众多概念了,我将其归纳如下,看你是否还能回忆起来
1.节点
2.父子关系
3.子节点
4.父节点
5.兄弟节点
6.叶子节点或叶节点
7.高度
8.深度
9.层
二、二叉树的定义
2.1 二叉树的定义
二叉树是一种特殊的树,所谓二叉树,其和树的区别是每个节点最多有两个子节点,如下图所示
又有两种特殊的二叉树:满二叉树、完全二叉树
2.2 满二叉树
满二叉树:所有的叶子节节点都在最底层,除叶子节点外,每个节点都有左右两个子节点
如下图就是一棵满二叉树