6_7 树的层次遍历(UVa122)<二叉树的动态创建与BFS>
树状结构在计算机科学的许多领域中都相当重要。本问题牵涉到建立树及走访树。
给你一二叉树,你的任务是写一个程序来打印依「阶层(level-order)」走访的结果。在本问题中,二叉树的每个节点含有一个正整数,并且节点的数目最少1个,最多256个。
在「阶层」走访中,依阶层从低到高,同阶层从左到右的次序来打印。例如以下的二叉树阶层走访的结果为:5,4,8,11,13,4,7,2,1
在本问题中,二叉树以节点来表示。每个节点以一对(n,s)来表示。n代表此节点的值,s为一字串,代表从根节点到达此节点的路径。其中L代表往左,R代表往右。所以在上方的图中内容为13的节点其表示法为(13,RL),而内容为2的节点其表示法为(2,LLR),而根节点为(5,)。
Input
输入含有多组测试数据。每组测试数据为若干节点的集合。各节点间以white space(包含空白、换列等字元)分隔。注意:在各节点内(也就是左刮号到又刮号之间)不会有white space。当遇到一()的节点,代表该组测试数据结束。请参考Sample Input。
Output
对每一组测试数据,如果输入的节点可以正常的构成一二叉树的话,请输出按「阶层」走访的结果。如果输入的节点无法正常的构成一二叉树的话,也就是说有某些该有的节点没有给,或重复给(同一路径有2个节点),请输出not complete。请参考Sample Output。
Sample Input
(11,LL) (7,LLL) (8,R)
(5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,RR) ()
(3,L) (4,R) ()
Sample Output
5 4 8 11 13 4 7 2 1
not complete
6_7 树的层次遍历(UVa122)<二叉树的动态创建与BFS>的更多相关文章
- 6-7 树的层次遍历 uva122
非常不熟练 照着书大的 晚上尝试一下自己打 了解二叉树 用数组打 第一次: #include<bits/stdc++.h> using namespace std; bool fai ...
- UVa 122 树的层次遍历
题意: 给定一颗树, 按层次遍历输出. 分析: 用数组模拟二叉树, bfs即可实现层次遍历 #include <bits/stdc++.h> using namespace std; st ...
- 树的层次遍历(Trees on the level,UVA 122)
题目描述: 题目思路: 1.用结构链表来建树 2.用队列来实现层次遍历,当遍历到根节点时,将其子节点压入队列 #include <iostream> #include <cstdli ...
- 编程练习:实现树的层次遍历 (CVTE笔试)
直接层次遍历是比较简单的,但是题目要求的分层打印,这就变得稍微有些麻烦 我是采用两个队列的方法实现. 1.将树结构入队列1. 2.当队列1和队列2都不为空的时候,则一直循环. 3.当队列1不为空的时候 ...
- Uva 122 树的层次遍历 Trees on the level lrj白书 p149
是否可以把树上结点的编号,然后把二叉树存储在数组中呢?很遗憾如果结点在一条链上,那将是2^256个结点 所以需要采用动态结构 首先要读取结点,建立二叉树addnode()+read_input()承担 ...
- js的传值,table中tr的遍历,js中动态创建数组
1.这里关键是对页面中的传值,其次是动态的创建一个数组,用来存值 $(val).css("background-color", "rgb(251, 248, 233)&q ...
- Trees on the level UVA - 122 (二叉树的层次遍历)
题目链接:https://vjudge.net/problem/UVA-122 题目大意:输入一颗二叉树,你的任务是按从上到下,从左到右的顺序输出各个结点的值.每个结点都按照从根节点到它的移动序列给出 ...
- hdu 1622 Trees on the level(二叉树的层次遍历)
题目链接:https://vjudge.net/contest/209862#problem/B 题目大意: Trees on the level Time Limit: 2000/1000 MS ( ...
- PAT树_层序遍历叶节点、中序建树后序输出、AVL树的根、二叉树路径存在性判定、奇妙的完全二叉搜索树、最小堆路径、文件路由
03-树1. List Leaves (25) Given a tree, you are supposed to list all the leaves in the order of top do ...
随机推荐
- python 数组格式转换
格式转换 arr1 = [ {'name': 'jack', 'hobby': '西瓜'}, {'name': 'jack', 'hobby': '冬瓜'}, {'name': 'rose', 'ho ...
- mybatis(五):源码分析 - config文件加载流程
详细的可以参考https://blog.csdn.net/weixin_33850890/article/details/88112849
- SequoiaDB 巨杉数据库Docker镜像使用教程
为方便用户快速体验,SequoiaDB 巨杉数据库提供基于 Docker 的镜像.本文介绍如何在 Docker 环境下部署 SequoiaDB 分布式集群环境. 集群规划 我们准备在五个容器中部署 ...
- JavaScript的流程控制
JavaScript的流程控制 1.if...else if...else... 2.while 3.for 4.forEach 5.for...in... 完整代码如下: <!DOCTYPE ...
- Quality and CCPC
English foundation: the fractional part 小数部分 disclaimer 免责声明 fictitious 虚构的,编造的;假定的,虚设的;小说式的;假装的 No ...
- 消息中间件之ActiveMQ
一.什么是消息中间件(MQ) 1.1 为什么会需要消息队列(MQ)? 主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达M ...
- c#中convert.toInt32和int.parse()和强制类型转换的区别
string a="123"; int i=(int)a; 这是会出现错误因为:强制类型转换只能转换值类型不能转换引用类型 string属于引用类型 强制类型转换时如果值类型 ...
- telnet不起作用
1.出现 'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件. 原因:因为本机的Telnet客户端默认是关闭的,所以我们要手动打开 解决方案:打开控制面板–>程序–>打开 ...
- spring(五):AOP
AOP(Aspect Oriented Programming) 面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行OOP开发时,都是基于对组件(比如 ...
- python下matplotlib、numpy、pandas联合作图逐步深入分析
1.代码1: from pandas import Series,DataFrame from numpy.random import randn import numpy as np import ...