正文

树,二叉树,森林的转换2008-03-02 21:23:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lingdlz/33123.html

分享到:

树 - 树和森林- 树、森林和二叉树的转换
http://www.educity.cn 作者:自考频道 来源:学赛网 2008年1月5日 发表评论 进入社区

  树或森林与二叉树之间有一个自然的一一对应关系。任何一个森林或一棵树可惟一地对应到一棵二叉树;反之,任何一棵二叉树

  也能惟一地对应到一个森林或一棵树。

  1.树、森林到二叉树的转换

  (1)将树转换为二叉树

  树中每个结点最多只有一个最左边的孩子(长子)和一个右邻的兄弟。按照这种关系很自然地就能将树转换成相应的二叉树:

  ①在所有兄弟结点之间加一连线;

  ②对每个结点,除了保留与其长子的连线外,去掉该结点与其它孩子的连线。

  【例1】下面(a)图所示的树可转换为(c)图所示的二叉树。具体转换过程可

  注意:

  由于树根没有兄弟,故树转化为二叉树后,二叉树的根结点的右子树必为空。

  (2)将一个森林转换为二叉树

  具体方法是:

  ① 将森林中的每棵树变为二叉树

  ② 因为转换所得的二叉树的根结点的右子树均为空,故可将各二叉树的根结点视为兄弟从左至右连在一起,就形成了一棵二叉

  树。

  【例2】下图中,左边包含三棵树的森林可转换为右边的二叉树。

  

  具体转换过程可

  2.二叉树到树、森林的转换

  把二叉树转换到树和森林自然的方式是:若结点x是双亲y的左孩子,则把x的右孩子,右孩子的右孩子,…,都与y用连线连起来

  ,最后去掉所有双亲到右孩子的连线。

  【例3】下图的森林就是由例2中二叉树转换成的。

  

  具体转换过程可

阅读(5998) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册