树的概念简记

一、特点

树由节点及连接节点的边构成。
树有以下属性:
1、有一个根节点;
2、除根节点外,其他每个节点都与其唯一的父节点相连;
3、从根节点到其他每个节点都有且仅有一条路径;

此外,一般而言,一棵树要么为空,要么由一个根节点和零棵或多棵子树构成,子树本身也是一棵树,每棵子树的根节点通过一条边连到父树的根节点。

二、关键概念

1、节点
节点是树的基础,名字称作“键”,附加信息“有效载荷”。
2、边
两个节点通过一条边相连,表示它们之间存在关系。除了根节点以外,其他每个节点都仅有一条入边,出边则可能有多条。
3、根节点
根节点是树中唯一没有入边的节点。
4、路径
路径是由边连接的有序节点列表。
5、子节点
一个节点通过出边与子节点相连。
6、父节点
一个节点是其所有子节点的父节点。
7、兄弟节点
具有同一父节点的节点互为兄弟节点。
8、子树
一个父节点及其所有后代的节点和边构成一棵子树。
8、叶节点
叶节点没有子节点。
10、层数
节点 n 的层数是从根节点到 n 的唯一路径长度。

11、高度
树的高度是其中节点层数的最大值。

三、遍历

1、前序遍历
先访问根节点,然后递归地前序遍历左子树,最后递归地前序遍历右子树。
2、中序遍历
先递归地中序遍历左子树,然后访问根节点,最后递归地中序遍历右子树。
3、后序遍历
先递归地后序遍历右子树,然后递归地后序遍历左子树,最后访问根节点

四、二叉树

如果每个节点最多有两个子节点,我们就称这样的树为二叉树

1、完全二叉树

除了最底层(叶子层),其他每一层的节点都是满的,堆就是一种完全二叉树,且堆的叶子层一般都是从左到右填,堆又分小根堆和大根堆

1、最小堆(小根堆)

最小的元素一直在队首

2、最大堆(大根堆)

最大的元素一直在队首

3、二叉搜索树

二叉搜索性:小于父节点的键都在左子树中,大于父节点的键则都在右子树中

4、平衡二叉搜索树

平衡二叉搜索树的任何结点的左子树和右子树高度最多相差1

5、红黑树

红黑树是一棵二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,有如下特点

1. 每个结点或是红色的,或是黑色的。
2. 根结点是黑色的。
3. 每个为空的叶结点都是黑色的。
4. 如果一个结点是红色的,则它的两个子结点都是黑色的。
5. 对每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

well_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值