标签:
5.5.1树的存储结构
树的存储结构通常采用如下三种表示方式。
1.双亲表示法
这种存储结构求指定结点的双亲(或祖先包括根)都是十分方便的。
但是在这种存储表示法中,求指定结点的孩子或其他后代则可能需要遍历整个结构。
2.孩子链表法
与双亲表示法相反,孩子链表表示法便于那些涉及孩子结点的操作的实现,而不适用操作Parent(T,x)。
3.孩子兄弟表示法
这种存储结构的最大优点是,它和二叉树的二叉链表表示完全一样,因此可利用二叉树的各种算法来实现对树的操作。
5.5.2树、森林与二叉树的转换
树、森林到二叉树的转换
我们知道,树中每个结点至多只有一个最左边的孩子(长子)和一个右邻的兄弟,按照这种关系,只要按下面的方法即可将一棵树转换成二叉树:首先在所有兄弟结点之间加一道连线,然后再对每个结点保留长子的连线,去掉该结点与其他孩子的连线。由于树根没有兄弟,所以转换后的二叉树,其根结点的右子树必为空。
将一个森林转换为二叉树的方法是:先将森林中的每棵树转化成二叉树,然后再将各二叉树的根结点看作是兄弟连在一起,形成一棵
二叉树。
标签:
原文地址:http://www.cnblogs.com/denggelin/p/5700255.html