数据结构-树
定义
树是一种非线性的数据结构,由n(n>0)个有限节点组成,是一个有层次关系的集合,像一棵倒立着的树。
特点
- 每个节点都只有有限个子节点或无子节点
- 没有父节点的节点称为根节点
- 每一个非根节点有且只有一个父节点
- 除了根节点外,每个子节点可以分为多个不相交的子树
- 树里面没有环路(cycle)
相关术语
- 节点:每个元素都叫节点
- 根节点:树的顶端节点
- 父子节点:除了根节点以外每个节点都可以找到向上的唯一节点为父节点,下方就是子节点。
- 兄弟节点:拥有相同父节点的节点
- 叶节点:没有子树的节点
- 子树:每个子节点作为根节点所产生的树
- 节点的度:节点含有子节点的数量
- 树的度:最大的节点的度
- 森林:若干棵不相交的树组成的集合
存储结构
1 | public class tree{ |
这里只是简单的写了一下,因为除根外必有一个父节点,所以这里就写了两部分,值域和指针域,一个存放节点的值,一个指向父节点,具体的操作等我复习到二叉树之类再细写。