美文网首页首页推荐数据结构和算法分析程序员
数据结构_知识点_树、森林、二叉树

数据结构_知识点_树、森林、二叉树

作者: 个革马 | 来源:发表于2017-02-09 11:16 被阅读91次

1. 树、森林的转换

(1) 利用孩子兄弟表示法,所有的树都可以用二叉树表示。
(2) 森林由多棵树组成,所有树转化二叉树之后,将他们的根节点作为兄弟结点,再用孩子兄弟表示法,结合成一个二叉树。

2. 树和二叉树的转换

(1) 在兄弟结点之间加一连线
(2) 每一结点只保留与第一个结点的连线,其他的抹掉
(3) 以树根为轴心,顺时针旋转45°
关于第三步:其实就是把形成的新树按照二叉树的样子进行摆设(除了看起来顺眼一点,毫无意义)见下图

Paste_Image.png

此处提到的,树转换而成的二叉树其右子树一定为空,道理很简单,右孩子是结点的兄弟结点,而树的根节点是不可能存在兄弟结点的。

3. 树和森林的遍历

(1) 树的遍历:先根遍历,后根遍历。访问根结点的先后
(2) 森林遍历:先序遍历(从第一棵树开始,挨着先序遍历),中序遍历(从第一棵树开始,挨着后序遍历)。

4. 遍历的等价关系

森林 二叉树
先根遍历 先序遍历 先序遍历
后根遍历 中序遍历 中序遍历

森林的先序遍历就是把所有树先根遍历一遍
森林的中序遍历就是把所有树后根遍历一遍,所以转变成二叉树的遍历方法一样。

相关文章

  • Java_二叉树概念及基本操作

    树、森林和二叉树的转换 树转换为二叉树 森林转换为树 二叉树转换为树 二叉树转换为森林 代码

  • 数据结构学习笔记

    1. 树,森林,二叉树之间的转换 树转换为二叉树 森林转为二叉树 二叉树转为树 二叉树转为森林 2. 哈弗曼树

  • 数据结构 - 概要

    数组 链表 堆/栈/队列 树 数据结构 - 二叉树数据结构 - 二叉查找树数据结构 - 平衡二叉树数据结构 - A...

  • 关于函数递归和迭代的转化, 及尾递归相关知识的接触和思考

    javascript实现数据结构: 树和二叉树,二叉树的遍历和基本操作 js 二叉树 【数据结构与算法】深入浅出递...

  • Android面试知识点

    Android面试经常问的知识点: fragment 动态代理 数据结构,平衡二叉树,堆, hashmap是怎么实...

  • 数据结构_知识点_树、森林、二叉树

    1. 树、森林的转换 (1) 利用孩子兄弟表示法,所有的树都可以用二叉树表示。(2) 森林由多棵树组成,所有树转化...

  • 二叉树非递归遍历

    二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有...

  • 2018-03-28 二叉树的转换

    二叉树,树,森林 二叉树转树 和 二叉树转森林的区别在于,最终根节点有没有右子树。如果有右子树,则这颗二叉树转换之...

  • 2018-11-20

    数据结构 复习了森林转换成二叉树,并写出先序中序序列和后续线索,学习哈夫曼树的构造

  • 数据结构之二叉树(一)——绪论

    前言 二叉树是数据结构中一种重要的数据结构,也是树表家族最为基础的结构,包括完全二叉树、满二叉树、二叉查找树、AV...

网友评论

    本文标题:数据结构_知识点_树、森林、二叉树

    本文链接:https://www.haomeiwen.com/subject/rdyvittx.html