/*
给出一棵满二叉树的先序遍历,有两种节点:字母节点(A-Z,无重复)和空节点(#)。要求这个树的中序遍历。输出中序遍历时不需要输出#。
满二叉树的层数n满足1<=n<=5。Sample Input:
ABC#D#ESample Output:
CBADE
*/
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
using namespace std;
const int M=1024;
char data[M];
int layer;struct node
{char data;struct node *l;struct node *r;
};void build(node * & t,int l)
{if(l>layer)return ;int i=0;while(data[i]=='\0')i++;char tc=data[i];//cout<<i<<endl<<tc<<endl;
    data[i]='\0';if(tc=='#'){t=NULL;return ;}t=new node();t->data=tc;build(t->l,l+1);build(t->r,l+1);
}void display(node *t)
{if(t==NULL)return ;display(t->l);printf("%c",t->data);display(t->r);
}int main()
{/*printf("%d\n",(int)(log(8)/log(2)));printf("%f\n",(log(7)/log(2)));*/memset(data,'\0',sizeof(data));while(scanf("%s",&data)){//printf("%s\n",data);int n=strlen(data)+1;/*if(log(n)/log(2)>(int)(log(n)/log(2)))layer=(int)(log(n)/log(2))+1;else*/layer=(int)(log(n)/log(2));//printf("%d\n",layer);node *tree;build(tree,1);display(tree);}return 0;
}

tz@HZAU

2019/3/13

转载于:https://www.cnblogs.com/acm-icpcer/p/10525989.html

【C++】满二叉树问题相关推荐

  1. 力扣——所有可能的满二叉树

    满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点. 返回包含 N 个结点的所有可能满二叉树的列表. 答案的每个元素都是一个可能树的根结点. 答案中每个树的每个结点都必须有 node.va ...

  2. E2. Rubik‘s Cube Coloring (hard version) dp,满二叉树(2300)

    题意 : 其他条件和上题相同 这里已知n个点,给定每个点的编号和颜色 求这个树的合法染色方案,取模1e9 + 7 思路 : 首先预处理d[c][k]d[c][k]d[c][k]表示根结点颜色为c,深度 ...

  3. E1. Rubik‘s Cube Coloring (easy version) 贪心,满二叉树(1300)

    题意 : 给定一个层数为k的满二叉树,结点编号为标准的层序遍历的编号 魔方有六个面,如图,每个面一个颜色 树上的结点的颜色也是这六个颜色之一,但是两个相邻结点的颜色必须是 魔方中,颜色相邻的两种颜色 ...

  4. step3 . day6数据结构之非线性表 满二叉树和不完全二叉树

    二叉树和链表相似,只是后节点变成了左右节点,重要的是递归思想的理解和返回时候的层级结构 1.满二叉树的穿件及前中后序遍历 #include <stdio.h> #include <s ...

  5. UVa712 S-Trees满二叉树

    题目意思就是给你一个满二叉树,然后输入命令查询,0是向左,1是向右.比较简单,直接上代码. #include<iostream> #include <string> #incl ...

  6. 数据结构之判断一棵树是不是满二叉树

    1 满二叉树 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树.一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树.也就是说,如果一个二叉树的层数为K,且结点总数 ...

  7. 树-二叉树、满二叉树和完全二叉树

    树-二叉树.满二叉树和完全二叉树 二叉树的定义: (1)当n=0时,为空树: (2)当n>0时,是由一个根结点和称为根结点的左.右子树构成,并且两颗子树互不相交. 满二叉树: 对于一棵二叉树,如 ...

  8. LeetCode 894. 所有可能的满二叉树(递归)

    1. 题目 满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点. 返回包含 N (1 <= N <= 20)个结点的所有可能满二叉树的列表. 答案的每个元素都是一个可能树的根结 ...

  9. 满二叉树及完全二叉树的相关性质证明

    高为h的满二叉树的结点数为:2h−12^h-12h−1 各层结点数为20,21,...,2h−12^0,2^1,...,2^{h-1}20,21,...,2h−1 根据等比序列求和公式,可得到总结点数 ...

最新文章

  1. 基于新型忆阻器的存内计算原理、研究和挑战
  2. AI自动评审论文,CMU这个工具可行吗?
  3. Chapter2 消息总线 ConfigClient配置自动刷新
  4. kdj超卖_kdj超买超卖是什么意思?kdj指标里说的“超买区,超卖区”什么意思?...
  5. continue和pass測试
  6. 如何通过 反射 调用某个对象的私有方法?
  7. 从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用Application Part动态加载控制器和视图...
  8. 基于 HanLP 的 ES 中文分词插件
  9. 数据库史上最大投资!Neo4j获3.25亿美元F轮融资
  10. 老项目Xcode5.1编译器错误
  11. 关于nginx不能随服务器启动而正常启动的修复脚本
  12. 极化码:信道极化原理(一)——两信道极化定理
  13. fps透视基础-d3d绘制-绘制文字-绘制方框-绘制连线
  14. 造移动厕所的,转做核酸采样亭。火了
  15. 诊断2018微商:从乱象到赋能,世界微商大会发明的新玩法为您指路
  16. 电脑数据丢失如何恢复呢?
  17. cuda必须装在c盘吗_软件安装到C盘会影响计算机运行速度吗?一个问题引发的思考...
  18. 通信协议整理之 SPI 通信
  19. 了解前端工程化之组件化——Vue组件
  20. 阿布扎比全球市场推出加密货币监管框架

热门文章

  1. 2017/3/8 函数指针/事件/委托....
  2. git-svn — 让git和svn协同工作
  3. iOS 学习之NSPredicate
  4. 从拟物到简约 ------谈网站设计风格的变革
  5. tf.train.Saver
  6. Gtest在vs 2010上的配置
  7. oracle和mysql数据实时同步_异构数据源的CDC实时同步系统——最终选型实战
  8. C语言麻将递归,C++数据结构与算法——麻将胡牌算法(二:完全胡牌算法)
  9. python tab和空格混用_我的 Python 编码规范
  10. shell获取当前执行脚本的路径