一、树状图
树状图是一种数据结构,它是由n(n>=1)个有限节点组成的具有层次关系的集合。因其结构看起来想个倒挂的树,即根朝上,叶子在下,故被称为“树”。
特点:
1. 每个节点有零个或多个子节点
2. 没有父节点的节点称为根节点
3. 每个非根节点有且只有一个父节点
图示:
二、树的种类
1. 无序树:树中任意节点的子节点之间没有顺序关系,这种树也称为自由树。
2. 有序树:树中任意节点的子节点之间有顺序关系。
2.1 二叉树:每个节点最多含有两个子树的树称为二叉树。
2.1.1 完全二叉树:对于一个二叉树,假设其深度为k(k>1)。除了第k层外,其他各层的节点数已达到最大值2^n-1(n那为深度),而第k层的节点自左向右依次连续紧密的 排列,这样的树称为完全二叉树。
2.1.2 满二叉树:是完全二叉树的一个特例,即完全二叉树的最后一层的叶子节点也已经达到了最大数(2^n-1)。
2.2 霍夫曼树:带权路径最短的二叉树,又称为最优二叉树。
2.3 B树
三、树的相关术语
1. 节点的度:一个节点含有的子树的个数称为该节点的度;
2. 树的度:一棵树中,最大的节点的度称为树的度;
3. 叶节点或终端节点:度为零的节点;
4. 非终端节点或分支节点:度不为零的节点;
5. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;
6. 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;
7. 兄弟节点:具有相同父节点的节点互称为兄弟节点;
8. 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;
9. 树的高度或深度:树中节点的最大层次;
10. 堂兄弟节点:父节点在同一层的节点互为堂兄弟;
11. 节点的祖先:从根到该节点所经分支上的所有节点;
12. 子孙:以某节点为根的子树中任一节点都称为该节点的子孙。
13. 森林:由m(m>=0)棵互不相交的树的集合称为森林;