昨天写了个二叉树遍历,自以为对二叉树很了解了。自大的认为线索二叉树不过是加了点线索而已,不足挂齿。可是当真的自己编程序写的时候才发现完全不是那么容易。在有线索的情况下,如何判别Link类型的下一节点,如何不用栈跳过已访问节点搞得脑子晕晕的。
折腾一个晚上,才根据书上把线索二叉树的建立、中序遍历给写出...
分类:
其他好文 时间:
2014-05-19 19:30:19
阅读次数:
210
==========================================================================================
基础部分...
分类:
其他好文 时间:
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
编程实现求一棵二叉树的最短树路径和最长树路径...
分类:
其他好文 时间:
2014-05-18 10:26:44
阅读次数:
253
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。
这让很多学生很反感。
不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。
Input...
分类:
其他好文 时间:
2014-05-18 10:14:18
阅读次数:
273
都不知道怎么分类了。
大概要求一个树中以某个结点为根的子树结点个数,还有儿子结点中以儿子结点为根的子树结点个数的最大值,用递归得到n[i],以i为根节点的子树结点个数
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define scan(a) scanf("...
分类:
其他好文 时间:
2014-05-18 07:26:01
阅读次数:
225
这道题目与上道题目一样,采用数组来作为保存二叉树节点的数据结构,会使测试代码更容易编写。具体的实现算法在代码中比较容易看懂,不细说了,主要想说下,测试时遇到的一些问题(最后AC了):
1、先序遍历的输出要符合要求的格式,即对于每一个测试用例来说,输出的各节点元素间要有一个空格,且输出最后一个元素后要没有空格,但要输出一个换行符,这就要判断出程序什么时候遍历输出最后一个元素,再递归实现的先序遍历函数中,我没想到能使最后一个元素符合输出格式的方法,因此我这里定义了一个int数组,用来顺序保存先序遍历的节...
分类:
其他好文 时间:
2014-05-18 03:37:21
阅读次数:
381