二叉树
来源:互联网 发布:网络数据保险箱 编辑:程序博客网 时间:2024/06/06 02:52
二叉树:一个二叉树由一个根结点 一个左子树 一个右子树组成。
满二叉树:所有的叶子结点都在同一层中,度数为0,看起来是一个三角形。
完全二叉树:叶子结点只能出现在最后一层或倒数第二层,除去最后一层后的二叉树是一个满二叉树,且最后一层的叶子节点必须是从左到右顺序排列。
前序遍历(深度优先遍历):顺序是 根 左 右 ABDEFGCHIMR
中序遍历:顺序是 左 根 右 DEBGFACMIRH
后序遍历:顺序是 左 右 根 EDGFBMRIHCA
广度优先遍历:从左到右依次遍历每一层的二叉树,层 (左 右)ABCDFHEGIMR
练习1:已知前序遍历和中序遍历求出后序遍历。
分析:
1.前序遍历的第一个字母和后序遍历的最后一个字母是 根节点。
2.中序遍历中在根节点右边的是右子结点以及结点下的子树,在根节点左边的是左子节点以及结点下的子树。
3.在中序遍历中根节点右边的子树(字母)里面如果在前序遍历中的顺序在最前面则为前一个根结点的下一个子树。
3的注释:如在中序遍历中根节点A的右边有CMIRH,在前序遍历中发现C在最前面,则A的右子树为C,以此类推。画出图,写出后序遍历。
这样我们可以根据前序遍历和中序遍历 得到后序遍历。
练习2:已知中序遍历和后序遍历求出前序遍历。
分析:
1.前序遍历的第一个字母和后序遍历的最后一个字母是 根节点。
2.中序遍历中在根节点右边的是右子结点以及结点下的子树,在根节点左边的是左子节点以及结点下的子树。
3.在中序遍历中根节点右边的子树(字母)里面如果在后序遍历中的顺序在最后面则为前一个根结点的下一个子树。
3的注释:如在中序遍历中根节点A的右边有CMIRH,在后序遍历中发现C在最后面,则A的右子树为C,以此类推。画出图,写出前序遍历。
这样我们可以根据后序遍历和中序遍历 得到前序遍历。
Java程序的实现 明天补上.
- 二叉树、二叉堆
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 硬币面值方案
- MongoDB完全教程
- LeetCode.147 Insertion Sort List
- usaco垃圾陷阱解题报告
- 2017京东校招在线编程题——集合
- 二叉树
- C# Winform 跨线程更新UI控件常用方法汇总
- 项目2
- VMvare学习3_Win7解决“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题
- oracle10g在win10上的安装
- 深度优先遍历(DFS)和广度优先遍历(BFS)
- MySQL 主从复制
- Spring整合MyBatis(Maven+spring+MyBatis+mysql实践附demo)
- 伪随机数的(人人2018校招)