文章分类 -  平衡树(多叉树)

摘要:同 hdu1710 Binary Tree Traversals已知二叉树的先序和中序求后序遍历二叉树的遍历算法在其他树操作的基础已知先序和中序求二叉树的后序遍历算法核心是1、从先序遍历中读入根节点2、从中序遍历中找到与根节点相等的元素,以此节点将中序序列分成两个部分,左边的为二叉树的左子树,右边为二叉树的右子树;3、递归调用上述步骤得到根节点的左、右子树#include <stdio.h&... 阅读全文
posted @ 2010-09-06 13:07 菜到不得鸟 阅读(494) 评论(0) 推荐(0)
摘要://985MS,不知道NO是怎么产生的???#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define MAXN 50010struct TNode{ int key,fix,idx;};TNode node[MAXN];struct ANode{ in... 阅读全文
posted @ 2010-08-23 23:48 菜到不得鸟 阅读(462) 评论(0) 推荐(0)
摘要:转个分析:题目给出的是一棵具有两个关键字的树,于是很自然地往Treap的方向去做了。结果成功的在 #15 TLE了。原因是这样构建Treap,给定的A[]已经不是随机的了,很容易退化成单链,造成O(N^2)的复杂度。由于题目的特殊性(都怪我忽视了题目名称。。。),我们可以直接用构造笛卡尔树的方法来解决这个问题。1、 要求的二叉树T的结点K值构成排序二叉树óT的中序遍历的各结点的K值递... 阅读全文
posted @ 2010-08-23 18:03 菜到不得鸟 阅读(1148) 评论(0) 推荐(0)