Splay树的插入操作,只需要处理好插入节点的孩子节点就可以了,最重要的是不要破坏了BST的基本规则。
因为高度并不是Splay树的首要因素,所以插入的时候也是使用splay操作,然后在根节点插入。
参考:http://www.geeksforgeeks.org/splay-tree-set-2-insert-delete/
对比一下使用插入创建的树和手工创建数的区别,先序遍历的结果...
分类:
其他好文 时间:
2014-05-31 21:47:50
阅读次数:
320
题目描述
已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历
输入
输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的中序遍历序列,第二个字符串表示二叉树的后序遍历序列。
输出
输出二叉树的先序遍历序列
示例输入
2
dbgeafc
dgebfca
lnixu
linux
示例输出
...
分类:
其他好文 时间:
2014-05-21 09:31:02
阅读次数:
252
题目描述
输入二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列。
输入
第一行输入二叉树的先序遍历序列;
第二行输入二叉树的中序遍历序列。
输出
输出该二叉树的后序遍历序列。
示例输入
ABDCEF
BDAECF
示例输出
DBEFCA#include
#include
#define MAX 50+3
using namespace std;
typede...
分类:
其他好文 时间:
2014-05-18 15:59:41
阅读次数:
185
这道题目与上道题目一样,采用数组来作为保存二叉树节点的数据结构,会使测试代码更容易编写。具体的实现算法在代码中比较容易看懂,不细说了,主要想说下,测试时遇到的一些问题(最后AC了):
1、先序遍历的输出要符合要求的格式,即对于每一个测试用例来说,输出的各节点元素间要有一个空格,且输出最后一个元素后要没有空格,但要输出一个换行符,这就要判断出程序什么时候遍历输出最后一个元素,再递归实现的先序遍历函数中,我没想到能使最后一个元素符合输出格式的方法,因此我这里定义了一个int数组,用来顺序保存先序遍历的节...
分类:
其他好文 时间:
2014-05-18 03:37:21
阅读次数:
381
先序遍历和中序遍历非递归代码:#include #include using
namespace std;typedef struct BinaryTree { int data; struct BinaryTree *rchild,
*lchild;}BinaryTree;int cr...
分类:
其他好文 时间:
2014-05-17 21:56:50
阅读次数:
264
原题地址:http://oj.leetcode.com/problems/binary-tree-level-order-traversal/题意:二叉树的层序遍历的实现。解题思路:二叉树的层序遍历可以用bfs或者dfs来实现。这里使用的dfs实现,代码比较简洁。实际上,二叉树的先序遍历就是dfs实...
分类:
编程语言 时间:
2014-05-14 03:25:59
阅读次数:
428
原题地址:http://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/题意:根据二叉树的先序遍历和中序遍历恢复二叉树。解题思路:可以参照http://www.cnblogs.com...
分类:
编程语言 时间:
2014-05-12 14:24:57
阅读次数:
324
原题地址:http://oj.leetcode.com/problems/binary-tree-preorder-traversal/题意:这题用递归比较简单。应该考察的是使用非递归实现二叉树的先序遍历。解题思路:使用一个栈。先遍历节点,然后将这个节点入栈,如果这个节点的左孩子非空,遍历左孩子,然...
分类:
编程语言 时间:
2014-05-12 12:09:39
阅读次数:
327
原题地址:http://oj.leetcode.com/problems/binary-tree-postorder-traversal/题意:实现后序遍历。递归实现比较简单,非递归实现。解题思路:这道题的迭代求解比先序遍历和后序遍历要麻烦一些。假设一棵树是这样的:
...
分类:
编程语言 时间:
2014-05-12 08:13:39
阅读次数:
336
前一篇写了二叉树的先序遍历,本篇记录一下二叉树的中序遍历,主要是非递归形式的中序遍历。由于距离上篇有好几天了,所以这里把二叉树的创建和存储结构也重复的写了一遍。二叉树如下二叉树的存储方式依然是二叉链表方式,其结构如下typedef
struct _tagBinTree{ unsigned ch...
分类:
其他好文 时间:
2014-05-07 10:17:50
阅读次数:
335