一、定义
1 专业定义
- 有且只有一个称为根的节点
- 有若干各互不相交的子树,这些子树本身也是一棵树
2 通俗定义
- 树是由节点和边组成。
- 每个节点只有一个父节点,但是可以由多个字节点。
- 但有一个节点例外,该节点没有父节点,此节点称为根节点。
3 专业术语
节点
父节点
子节点
子孙
堂兄弟
深度:从根节点到最底层节点的层数称为深度(根节点是第一层)
叶子节点:没有子节点的节点
非终端节点:非叶子节点
度:子节点的个数称为度
数的度:含有最大子节点的个数即最大的度就是数的度
二、分类
1 一般树
任意一个节点的子节点的个数都不受控制
2 二叉树
任意一个节点的子节点个数最多两个,且子节点的位置不可更改
分类:
3 森林
n个互不相交的树的集合
三、树的存储
二叉树的存储
-
连续存储【完全二叉树】
优点:查找某个节点的父节点和子节点(也包括判断有没有节点)很快
缺点:耗用内存空间很大 -
链式存储