前言
本系列文章是笔者学习数据结构的笔记,如有不妥之处欢迎指正
什么是树
概念
- 有且只有一个称为根的节点
- 有若干个互不相交的子树,这些子树本身也是一棵树
- 树由节点和节点之间的连接(指针)组成的
- 每个节点只有一个父节点但是可以有多个子节点
- 如果该节点只没有父节点则此节点成为根节点
术语
- 节点们(相对概念):
节点 父节点 子节点
子孙 堂兄弟 - 深度: 从根节点到最底层节点的层数
- 叶子节点: 没有子节点的节点
- 非终端节点:有子节点的节点
- 度数:子节点的个数
树的分类
- 一般树:任意一个节点有任意个子节点
- 二叉树: 任意一个节点最多有两个子节点,且子节点的位置不可更改(树有序)
· 一般二叉树
· 满二叉树:每一层的节点都不能再增加(在不增加树的层数的基础下不能再增加节点)
· 完全二叉树:从满二叉树的最底层的最右,自左至右删去任意节点的树 - 森林:多个互不相交的树的集合