摘要:
题意:给出一棵字母二叉树删除叶子节点的序列,按删除的顺序排列。让你输出该棵二叉树额前序遍历的序列。思路:先把一棵树的所有删除的叶子节点序列存储下来,然后从最后一行字符串开始建树即可,最后遍历输出。 这里为方便起见,将子母转化成整数值存储。#include #include #include #include /*AC题意:给出一棵字母二叉树删除叶子节点的序列,按删除的顺序排列。让你输出该棵二叉树额前序遍历的序列。思路:先把一棵树的所有删除的叶子节点序列存储下来,然后从最后一行字符串开始建树即可,最后遍历输出。 这里为方便起见,将子母转化成整数值存储。*/using namespace s... 阅读全文
posted @ 2013-10-02 20:23
辰曦~文若
阅读(394)
评论(0)
推荐(0)
摘要:
题意:给出一颗二叉树的前序遍历和中序遍历的序列,让你输出后序遍历的序列。思路:见代码,采用递归。#include #include #include /*由一颗二叉树的前序遍历和中序遍历,输出该二叉树的后序遍历。*/using namespace std;const int maxn=30;int len;char dlr[maxn],ldr[maxn]; //dlr:前序遍历的序列,ldr:中序遍历的序列/*l1,r1:前序遍历的区间段l2,r2:中序遍历的区间段这两个区间对应的是同一颗子树*/void dfs(int l1,int r1,int l2,int r2) { int k... 阅读全文
posted @ 2013-10-02 14:30
辰曦~文若
阅读(263)
评论(0)
推荐(0)
摘要:
题意:给一个这样的二叉树,每个节点用一对数(a,b)表示,根节点为(1,1)。设父亲为(a,b),左儿子(a+b,b),右儿子(a,a+b)。 给几组数据,(i,j),求从根节点到(i,j)节点需要向左子树走多少次,往右子树多少次。思路:可以发现:当i>j时,(i,j)为左儿子;当ij时:i=a+b,j=b -> a=i-j,b=j l++; 2.i a=i,b=j-i r++;当然,写代码时不能一个一个减,会超时的。一次性把能减的都减去。#include #include /*AC给一个这样的二叉树,每个节点用一对数(a,b)表示,根节点为(1,1)。设父亲为(a,b),左儿子( 阅读全文
posted @ 2013-10-02 12:14
辰曦~文若
阅读(462)
评论(0)
推荐(0)

浙公网安备 33010602011771号