感觉c++很陌生啊 题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So
easy!)。 输入
输入有多组数据(少于100组),以文件结尾结束。每组数据仅一行,包括两个字符串,中间用空格隔开,分别表示二叉树的后序和中序序列(字符串长度小于26,输入数据保证合法)。
输出 每组输出数据单...
分类:
其他好文 时间:
2014-05-08 22:14:52
阅读次数:
321
public class Tree { TreeNode last = null; TreeNode
root = null; public Tree(int value){ root = createNode(value); } ...
分类:
其他好文 时间:
2014-05-07 18:45:42
阅读次数:
275
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了ST...
分类:
其他好文 时间:
2014-05-07 18:11:56
阅读次数:
465
前一篇写了二叉树的先序遍历,本篇记录一下二叉树的中序遍历,主要是非递归形式的中序遍历。由于距离上篇有好几天了,所以这里把二叉树的创建和存储结构也重复的写了一遍。二叉树如下二叉树的存储方式依然是二叉链表方式,其结构如下typedef
struct _tagBinTree{ unsigned ch...
分类:
其他好文 时间:
2014-05-07 10:17:50
阅读次数:
335
这个代码其实自己花了很长的时间去理解,渐渐的有所明白了一点。#include #include
typedef enum { Link , Thread } PointTag; //Link表示指针,Thread表示线索typedef struct
treenode ...
分类:
其他好文 时间:
2014-05-07 09:07:36
阅读次数:
262
问题:给一个二叉树,写一个算法判断这个树是不是balanced。Solution
#1.第一次遇到这个问题时我的解法,如下:public class Solution { public boolean isBalanced(TreeNode
root) { if(root == ...
分类:
其他好文 时间:
2014-05-05 12:50:49
阅读次数:
263
要求:从上往下打印二叉树的每个结点,同一层的结点按照从左到右的顺序打印。算法思想:每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的结点,重复前面的打印操作,直到队列中所有的结点都被打印出来为止。
分类:
其他好文 时间:
2014-05-05 10:00:38
阅读次数:
307
1 #include 2 #include 3 #include 4 typedefchar
ElemType; //定义树的结点类型 5 typedefstruct BiTNode 6 { 7 ElemType data; ...
分类:
其他好文 时间:
2014-05-04 10:51:57
阅读次数:
299
leetcode中有这么一道题,非递归来实现二叉树的遍历。二叉树的后序遍历顺序为,root->left,
root->right,
root,因此需要保存根节点的状态。显然使用栈来模拟递归的过程,但是难点是怎么从root->right转换到root。方法1:对于节点p可以分情况讨论1.
p如果是叶子...
分类:
其他好文 时间:
2014-05-04 10:39:13
阅读次数:
251
红黑树的性质
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示结点的颜色,可以是RED或者是BLACK,红黑树确保没有一条路径会比其它路径长2倍,因而是近似平衡的。
树中的每个结点包含5个属性:color、key、left、right、parent,如果一个结点没有子结点或者是父结点,则该结点相应指针属性的值为NIL。可以把NIL视为指向二叉搜索树
的也结点的指针...
分类:
其他好文 时间:
2014-05-04 09:39:36
阅读次数:
579