昨天写了个二叉树遍历,自以为对二叉树很了解了。自大的认为线索二叉树不过是加了点线索而已,不足挂齿。可是当真的自己编程序写的时候才发现完全不是那么容易。在有线索的情况下,如何判别Link类型的下一节点,如何不用栈跳过已访问节点搞得脑子晕晕的。
折腾一个晚上,才根据书上把线索二叉树的建立、中序遍历给写出...
分类:
其他好文 时间:
2014-05-19 19:30:19
阅读次数:
210
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。输入:输入可能包含多个测试样例,对于每...
分类:
其他好文 时间:
2014-05-19 19:05:49
阅读次数:
269
中序线索二叉树/************************************************************************线索二叉树二叉树的节点有五部分构造-----------------------------------------|
lChild | l...
分类:
其他好文 时间:
2014-05-19 15:59:35
阅读次数:
285
二叉树中任意左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。两种解法。第一种:菜鸟的解法,出现重复遍历,时间复杂度高。第二种:大神的解法,只遍历一次,高端大气上档次。
分类:
其他好文 时间:
2014-05-19 13:47:09
阅读次数:
244
多的不解释了,这里有两种解法。第一种:一般的解法。第二种:大神的解法,代码简洁高效。
分类:
其他好文 时间:
2014-05-19 13:33:31
阅读次数:
198
==========================================================================================
基础部分...
分类:
其他好文 时间:
2014-05-18 15:49:31
阅读次数:
265
题目描述:
输入两颗二叉树A,B,判断B是不是A的子结构。
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行一个整数n,m(1<=n<=1000,1<=m<=1000):n代表将要输入的二叉树A的节点个数(节点从1开始计数),m代表将要输入的二叉树B的节点个数(节点从1开始计数)。接下来一行有n个数,每个数代表A树中第i个元素的数值,接下来有n行,第一个数Ki代表第i个节点的子孩子个数,接下来有Ki个树,代表节点i子孩子节点标号。接下来m+1行,与树A描述相同。
输出:...
分类:
其他好文 时间:
2014-05-18 14:09:41
阅读次数:
333
上篇博文我重点介绍了八大内部排序,这篇博文(数据结构与算法的最后一课)重点介绍查找,我们依旧沿用上篇博文的风格,先简单介绍,再以例子重点讲解。
下面我们开始今天的旅行,首先祝你旅行愉快,呵呵。
静态查找
若查找目的是为了查询某个特定的数据是否在表中或检索某个特定数据的各种属性...
分类:
其他好文 时间:
2014-05-18 13:26:40
阅读次数:
299
实现操作
(1)二叉搜索树的建立
(2)二叉搜索树的插入
(3)二叉搜索树的三种递归遍历(前序、中序和后续)
(4)二叉搜索树的三种非递归遍历(前序、中序和后续)
(5)二叉搜索树的逐层打印
有时间再实现:
(6)二叉搜索树的前驱和后继查找
(7)二叉搜索树的删除
源码分析:
#include
#include
#include
using namespace st...
分类:
编程语言 时间:
2014-05-18 10:28:47
阅读次数:
492
这道题目与上道题目一样,采用数组来作为保存二叉树节点的数据结构,会使测试代码更容易编写。具体的实现算法在代码中比较容易看懂,不细说了,主要想说下,测试时遇到的一些问题(最后AC了):
1、先序遍历的输出要符合要求的格式,即对于每一个测试用例来说,输出的各节点元素间要有一个空格,且输出最后一个元素后要没有空格,但要输出一个换行符,这就要判断出程序什么时候遍历输出最后一个元素,再递归实现的先序遍历函数中,我没想到能使最后一个元素符合输出格式的方法,因此我这里定义了一个int数组,用来顺序保存先序遍历的节...
分类:
其他好文 时间:
2014-05-18 03:37:21
阅读次数:
381