重点简介:
1、树:n个结点的有限集合。N=0时称为空树。
2、任意一颗非空树中,有且仅有一个特定的称为根的结点。
3、结点拥有的子树数称为结点的度。
4、度为零的结点称为叶节点或终端结点。度不为零的结点称为非终端结点或分支结点。
5、同一个双亲的孩子称为兄弟。
6、结点的层次从根开始定义起,根为第一层。
7、双亲在同一层的结点互为堂兄弟。
8、树中结点最大层次称为树的深度或高度。
9、如果将树中结点的各子树看成从左至右是有次序的,则为有序树,否则为无序树。
10、森林是m棵互不相交的树的集合。
11、双亲表示法:有数据域和指针域,知道双亲在哪里。
Data | Parent |
12、存储结构的设计是一个非常灵活的过程。一个存储结构设计得是否合理,取决于基于该存储结构的运算是否合适、是否方便,时间复杂度好不好等。
13、多重链表表示法:每个结点有多个指针域,其中每个指针指向一棵子树的根结点。
14、孩子表示法:把每个结点的孩子结点排列起来,以单链表做存储结构,则n个结点有n个孩子链表,如果是叶子结点则此单链表为空。然后n个头指针又组成一个线性表,采用顺序存储结构,存放进一个一维数组中。
15、双亲孩子表示法:在孩子表示法的基础上,再加上一个找双亲的指针。
16、孩子兄弟表示法:任意一棵树,它的结点的第一个孩子如果存在就是唯一的,它的右兄弟如果存在也是唯一的。因此,我们设置两个指针,分别指向该结点的第一个孩子和此结点的右兄弟。
Data | Firstchild | Rightsib |