树和森林
树的基本概念与性质
-
基本概念
树的定义是递归的,树是一种逻辑结构,同时也是一种分层结构。
-
性质
(1)树中的节点数等于所有节点的度数加1;
(2)度为m的树中第i层上至多有m^(i-1)个节点;
(3)高度为h的m叉树至多有(m^h - 1)/(m-1)个节点;
(4)具有n个节点的m叉树的最小高度为[logm(n(m-1)+1)]
-
树的存储结构
(1)双亲表示法
采用一组连续的空间存储每个节点,同时在每个节点中增设一个伪指针,指示这个节点的双亲节点在数组中的位置,利用这种存储结构可以很快的得到每一个节点的双亲节点,但是求节点的孩子节点时需要遍历整个结构。
(2)孩子表示法
每个节点的孩子节点都用一个单链表链接起来形成一个线性结构,那么N个节点就有N个孩子链表。
(3)孩子兄弟表示法
又称为二叉树表示法,即以二叉链表作为树的存储结构,使得每个节点包括三个内容:节点值、指向节点第一个孩子节点的指针和指向节点下一个兄弟节点的指针。