码迷,mamicode.com
首页 > 其他好文 > 详细

5.5树和森林

时间:2016-07-24 11:51:30      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

 

5.5.1树的存储结构

树的存储结构通常采用如下三种表示方式。

1.双亲表示法

这种存储结构求指定结点的双亲(或祖先包括根)都是十分方便的。

但是在这种存储表示法中,求指定结点的孩子或其他后代则可能需要遍历整个结构。

2.孩子链表法

与双亲表示法相反,孩子链表表示法便于那些涉及孩子结点的操作的实现,而不适用操作Parent(T,x)。

3.孩子兄弟表示法

这种存储结构的最大优点是,它和二叉树的二叉链表表示完全一样,因此可利用二叉树的各种算法来实现对树的操作。

 

5.5.2树、森林与二叉树的转换

树、森林到二叉树的转换

我们知道,树中每个结点至多只有一个最左边的孩子(长子)和一个右邻的兄弟,按照这种关系,只要按下面的方法即可将一棵树转换成二叉树:首先在所有兄弟结点之间加一道连线,然后再对每个结点保留长子的连线,去掉该结点与其他孩子的连线。由于树根没有兄弟,所以转换后的二叉树,其根结点的右子树必为空。

 

将一个森林转换为二叉树的方法是:先将森林中的每棵树转化成二叉树,然后再将各二叉树的根结点看作是兄弟连在一起,形成一棵

二叉树。

 

5.5树和森林

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5700255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!