实验内容设计一个与二叉树基本操作相关的演示程序,要求实现以下功能:(1)创建二叉树。按照用户需要的二叉树,构建二叉树。(2)将创建的二叉树以树状形式输出。(3)分别以先序,中序,后序三种遍历方式访问二叉树。(4)输出二叉树的叶子结点以及叶子结点的个数。(5)输出二叉树的高度。存储结构设计本程序采用二...
分类:
其他好文 时间:
2015-05-02 19:30:03
阅读次数:
291
题目链接:点击打开链接
解题思路:
很不错的一道题。用递归的方法求解。每次对两个序列进行递归,求得左子树的先序/中序,右子树的先序/中序。把树建好后调用递归输出后序即可
完整代码:
#include
#include
#include
using namespace std;
string fir , mid;
typedef struct Node
{
...
分类:
其他好文 时间:
2015-05-02 16:37:13
阅读次数:
101
有向图的遍历和无向图的遍历类似,主要是DFS和BFS。对于DAG(Directed Acyclic Graph),还有一个很重要的拓扑的概念,拓扑排序的倒序可以用Depth-first search来生成,类似二叉树的后序遍历。见Depthfirst Order in Algs4private vo...
分类:
编程语言 时间:
2015-05-02 16:26:11
阅读次数:
160
引言 继续二叉树,这个题考的知识点是二叉树的后续遍历 分析问题 对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中,从最开始到第一个大于根节点的数都是左子树中的数,而后面到倒数第二个数应该都是大于根节点的,是右子树,如果后面的数中有小于根节点的,那么说明这个序列不是二叉搜索树的...
分类:
编程语言 时间:
2015-04-30 10:18:49
阅读次数:
135
1 #include 2 using namespace std; 3 4 typedef struct BTNode 5 { 6 char data; 7 struct BTNode * lchild; 8 struct BTNode * rchild; 9 }BTN...
分类:
编程语言 时间:
2015-04-29 23:04:43
阅读次数:
181
中序和一个别的序可以确定一颗bst,而先序和后序不能! 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int N = 11; 7 char str[N]; 8 int cnt; 9 int...
分类:
编程语言 时间:
2015-04-29 16:59:56
阅读次数:
137
前面聊了一系列关于链表相交的问题,本篇博文,让我们通过一道简单的判断题,复习复习数组和二叉树。...
分类:
编程语言 时间:
2015-04-29 09:56:26
阅读次数:
117
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回 true,否则返
回 false 。
例如输入 5、7、6、9、11 、10、8,由于这一整数序列是如下树的后序遍历结果:
8
/ 6 10
/ \ / 5 7 9 11
因此返回 true。
如果输入 7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回 false 。
思路:...
分类:
其他好文 时间:
2015-04-29 00:47:12
阅读次数:
166
转载出处 http://www.cnblogs.com/AnnieKim/archive/2013/06/15/MorrisTraversal.html博主很认真,这里转载一下以防丢失链接本文主要解决一个问题,如何实现二叉树的前中后序遍历,有两个要求:1. O(1)空间复杂度,即只能使用常数空间;2...
分类:
其他好文 时间:
2015-04-28 07:03:17
阅读次数:
148
中根序列和后根序列重建二叉树描述我们知道如何按照三种深度优先次序来周游一棵二叉树,来得到中根序列、前根序列和后根序列。反过来,如果给定二叉树的中根序列和后根序 列,或者给定中根序列和前根序列,可以重建一二叉树。本题输入一棵二叉树的中根序列和后根序列,要求在内存中重建二叉树,最后输出这棵二叉树的前根序...
分类:
编程语言 时间:
2015-04-27 19:51:15
阅读次数:
191