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 ...
随机推荐
- 虚拟磁盘VHD文件压缩方法
问题描述 因工作需要在Mac上跑了一个VirtualBox虚拟win7,使用对win系统友好的vhd格式作为虚拟硬盘.经过一段时间使用发现vhd占用空间远大于虚拟磁盘使用量,想办法减减肥才行. 步骤整 ...
- git的安装方法
下载:https://git-scm.com/downloads
- Linux 基本命令简单学习
平常工作中需要使用到的一些Linux基本命令,简单记录: 通过订单号查看日志: cat /---/---/xxxx20190908.log | grep C52918588112261 -C 5 ...
- Spectral clustering谱聚类
Basic knowledge: degree matrix; similarity matrix, and Adjacency matrix; 无向带权图模型 G=<V,E>G=< ...
- LitElement(五)事件
1.概述 1.1 在何处添加事件监听器 您需要以一种可以在事件发生之前触发的方法添加事件监听器.但是,为了获得最佳的加载性能,应尽可能晚添加事件监听器. 你可以在以下位置添加事件监听器: 1.1.1 ...
- nginx的错误处理
以下是针对nginx发生错误的处理方案(将会持续更新) 遇到 nginx: [error] invalid PID number "" in "/var/run/ngin ...
- Linux - Deepin Linux,intel无线网卡下载慢、不能跑满宽带的解决方案
解决方案 将 /etc/modprobe.d/iwlwifi.conf中的11n_disable=1删掉,重启. 参考 https://bbs.deepin.org/forum.php?mod=vie ...
- C++-HDU1000,1001,1002-格式是真的坑
#include <cstdio> int main(){ for(int a,b;~scanf("%d%d",&a,&b);printf(" ...
- _mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL server during query')
最近写了一个定时脚本,每天凌晨跑,每次跑时间很长. 在测试这个脚本的时候,跑了一个小时,发生一个错误,脚本中断,错误如下: _mysql_exceptions.OperationalError: (2 ...
- java_基础_关于父类继承的问题
关于java父类继承: 首先抽象类有这样几个规则 1.定义为抽象类的类里可以没有抽象方法 2.抽象类里可以有普通的不带abstract关键字的方法 3.抽象类里可以有主main方法 4.抽象类也可以向 ...