”司马龙先生,又出现了一个新游戏的入口“,司马龙先生旁边的头发乱糟糟的助手马代钧说到。
“可恶。还是迟了一步吗?又给我们布下了一个谜题”,司马龙如是说。
“谁叫别人是天才的设计者啊!我们都已解开了那么多她布下的谜题了,再多一个也不在话下”。
“之前的那些谜题是她用来考验我们能力的。真正的难题从现在才开始。相传能解开她设下的所有谜题的人,能有幸知道这世界的真相”。
“哦,龙先生你这么说,我可就更兴奋了!”,代钧咽了几下口水,兴冲冲地说到。
他眼中放出的光芒,已经无法被他凌乱的头发所掩盖。
“那我们开始调查吧!”。
接着,他们走向了那个写着完全二叉树的层序遍历的房间。
在一阵强光过后,他们睁开了双眼。映入眼帘的是一座巨大的城堡。
城堡的上空中突然浮现出了几行字——
欢迎,挑战者们!
这是完全二叉树的层序遍历事件。
鉴于完全二叉树对于本次事件来说非常重要。
为这场游戏公平起见,特此介绍之。
完全二叉树即为一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。
对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树。
你们将进入到这个城堡中,探求城堡中发生事件的真相。
你们将获得一怀表,用于在适当的时候帮助你们解决难题。
祝各位挑战者顺利!
司马龙和马代钧在看完这些文字后,上衣中就出现了一个怀表。怀表看起来破旧不堪的,上面的指针也停止了走动。
他们收拾好自己,相视后便进入这城堡之中。
这城堡外表看上去就阴森森的。而天边的乌云仍然笼罩着这里。
当我们进入这个城堡之后,我们看见天空中放出了烟花。绽放的烟火上的字写着-答案正确!
马代钧瞠目结舌,半天才挤出一句话来。
“难道,这次的挑战就这样结束了吗?我们可是刚进来,什么都还没做呢?也太奇怪了。”
“哈哈哈哈”,司马龙放肆的笑着。
“没想到你连这都没看破。”,他略收了点笑容说道。
“可是,这不是已经答案正确了吗?那还要我们做什么?”
“你仔细看看,那个答案正确后面的通过时间是多少?是23:27,而我们手中的怀表所指示的时间是23:00分。这就说明,我们最终会在23:27通关的。但是在此之前的路,还需要我们铺垫,我们才能最终到达胜利的彼岸。”。
“那做啥啊?等几分钟不就行了。咱们一路走来,费力多少心血。难得有这样简单的,只需要等待几分钟就可通关的游戏。所以我说…”。
马代钧话还没完,司马龙又笑了起来。
“你真是能给这无趣的生活增添不少乐趣呢?你仔细看看,这怀表上的时间已经停止在了23:00。即使是我们刚刚讲了如此久的话,怀表上的指针也未曾往下走一格。这难道还不能说明什么吗?”。
“难道?”,马代钧紧忙把怀表拿出来看了一眼,只见上面的指针纹丝不动。
“我们是被困在这段时间中了吗?”
“很有可能。而且看来只有我们破解了这个谜题。或者说,为破解谜题迈出了正确的一步,怀表上的指针才有可能往下走一步。”。
正说着,便听见滴答的一声。
指针真的往下走了一格。
“也就是说,我们现在的推论是正确的。可是,我们要解决的谜题是什么呢?”,司马龙疑惑不解的说道。
只听见从城堡门那传来很老旧门会发出的那种咯吱咯吱的声音。
司马龙和马代钧马上警觉起来——有东西来了!
虽然他们心中很紧张,但是他们按捺不住他们血液里,骨子里的好奇心啊!虽说这大世间还有着许许多多有趣的事物。不必为一时好奇断送性命。可是人啊!怎么能与自己的本能想抗衡呢?理性的力量如何战胜强烈的本能呢?
每次当马代钧和司马龙仰望星空的时候,不禁感叹这星空的美。这星空的美是无法用概念表达的。星空的美一点也不抽象。它是很实在的。可是又很好笑,偏偏他们却处在这抽象的世界当中,周围的一切都那么让人摸不着头脑,不知道它们是什么?它们似乎一会是一种东西,一会又是另一种东西。真是好生哀痛!
他们小跑一段后,来到了门口。见到了令他们难忘的一幕。
一堆数字,排好队从门口进来。一个领头的数字吹着哨子,后面的数字便一步一步踏进这破败不堪的城堡。等后面的数字都进来了,领头的数字便找了一个箱子,然后一点一点爬上去,开始向下面的数字训话。
司马龙见状便想去偷听这领头的数在说什么。马代钧本想阻止司马龙偷摸过去,但是看他坚决的眼神,犹豫再三,还是决定放他走。
我们的使命就是去抽象地表达一个事物。
我们是这世上数字化的基础。
我们是数字,是高傲的数字,是强大的数字,是能让这世界为之胆怯的数字。
我们量化一切,衡量一切,表达一切,评价一切。
我们是这新世界的神。
而我们现在的使命就是将完全二叉树,
也就是所有你们所表达的数据结构
由后序遍历的方式转化为层序遍历的方式。
借由此获得新生。
这上空才是我们的出口。
为了能转换到层次遍历的方式。
我们需要借助于人类的智慧,让他们为我们编写代码,程序,用于对我们进行处理。
已收到进一步的指令,我们将会去试验这些代码。
你们的职责有且只有一个,那就是服从传递给你们的指令。
你们是数字,不是柔软的人类!
不要轻易被事情所改变。
回来的司马龙如是说。
也就是说,其实我们的出现是必然的?
我们出现在这只是为了帮它们完成它们的任务?
那也太悲哀了?我们的人生难道就为如此事而存在吗?
你在这谈什么人生啊?不过是在刷…唉,算了,务实一点,还是来研究一下怎么帮它们完成任务吧!
司马龙便牵着我的手,走向了它们。
欢迎,挑战者!
看来这次和我们配合的就是你们了。
少废话。早点解决了早完事。
这是这次的数据。
那最后就只要将它们按层次遍历的顺序输出就好了吗?
当然。
那叫第2个数字出列。然后放到我的炮膛里面。
说着,他随手一挥,空气出现的数字慢慢汇聚成了一个大炮的模样。
做不到!它们只能按照来的顺序一个一个出来。而且这只是第一批,后面还有许多呢?
上面给我们的任务是让你能给我们提供一个可以永久有效的程序。
希望能借助人类的智慧和我们的勤奋。而不是每次都让你们来干这事。
这是对你们智力的浪费啊!
只能顺序的读入啊?司马龙陷入了沉思。
看着他那副苦恼样。我知道他在认真思考,但是脑中突然出现了之前进入这个城堡的几行字——完全二叉树即为一个二叉树…
我的嘴也似不听使唤般,把这脑中出现的几行字一字不落地复述了出来。
司马龙眼中又重现了光芒,并打了一个响指。
他一个箭步冲了过来,很疯狂地把我摇晃着。
“快拿出递归函数。”
递归函数是这样一种东西,任何进入它的事物,会在它的内部进行一次消化。而后又吐出来,进行再消化。
直至它们不能再被消化为止。它还能对自己进行复制,不过这些可怜的复制儿很短命,一旦到了最后的界限,它们就会被收回控制。
又只能存在于幻想当中,没有自己的生命。
每次使用这个大杀器的时候,总是能听见这些复制儿的惨叫,直教心发怵。
不过看他那期待的眼神。我还是从我脑中拿出这个玩意。
输入是什么?一个数组,还有一个下标
那返回值呢?没有返回值。
那终止条件…如果下标不合理的话,就终止。
当合理的时候,就去复制一份这个函数,然后转而走向这颗树的左子树。对于下标来说,也就是2*i+1.
之后再走向右子树。最后从输入流中读取数据。这个函数也就造就完成了。
最后再给我一个可以遍历这个数组的函数。
我相信就完成了这个作品。
我虽有些疑惑,但还是给他提供了这些东西。
然后他先实例化了一个数组。将数组和初始的下标提供给了递归函数。
然后我见到那些数字一个一个按它们等待的顺序消失。
他的那个数组容器满满当当。霎时间都有点拿不住了,看起来他很吃力。
手上的青筋已经暴起。他又费力老大力气才把这数组装填到之前的大炮当中去。
然后拉响了大炮。
天空中也出现了答案正确四个字。
我不无好奇地看着欣喜若狂的他。
他又再为他顺利通过了一关感到高兴。
这时通往下一关的门开了。
但他开始喋喋不休。
将他是怎么想到利用递归去解决这个问题的。
什么看到完全二叉树就想到了以数组为物理结构的树、此种树的层次遍历的结构就是数组的顺序、后序遍历输入的也可以采取后序遍历读入啦。
我倒是一个也没听进去。对我来说,这和这个世界常见。
The end

唉,创作一个好故事真是很困难。写了那么久,写的也还是太粗糙,简陋了。总而言之,就是写得太差了。没有什么主题,没有什么情感。各种情节之间感觉脱节严重。罢了罢了,留给以后的我再重新审视这段创作这篇故事的经历吧!
postOrderRead(Array tree,Pointer index)
输入 树 具体的位置
输出 树
if(isReasonable(index))
postOrderRead(tree.left,left(index))
postOrderRead(tree.right,right(index))
tree[index].data = read()
return

完全二叉树的层序遍历游戏相关推荐

  1. 【2020团体程序设计天梯赛】L2-3 完全二叉树的层序遍历(后序遍历转层次遍历)

    problem 7-11 完全二叉树的层序遍历 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树.对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的 ...

  2. 【L2-035 完全二叉树的层序遍历】天梯赛L2详解

    天梯赛L2-035 完全二叉树的层序遍历 题目详情: 思路: 利用完全二叉树的特点,直接进行递归即可. 完全二叉树的特点:假设根结点是a,那么他的左节点一定是2a,右节点一定是2a+1 详细代码: # ...

  3. PTA L2-035 完全二叉树的层序遍历(树的遍历)

    L2-035 完全二叉树的层序遍历 (25分) 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树.对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的 ...

  4. 完全二叉树的层序遍历(马老师的比赛心得)

    L2-3 完全二叉树的层序遍历 (25分) ## 比赛的时候差一点就完成了,所以写个博客了却一下自己的遗憾. 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树.对于深度为 D ...

  5. L2-035 完全二叉树的层序遍历 (25 分)-PAT 团体程序设计天梯赛 GPLT

    一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树.对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树 ...

  6. 团体程序设计天梯赛 L2-035 完全二叉树的层序遍历

    题目链接 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树.对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是 ...

  7. 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)

    typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...

  8. 数据结构:二叉树层序遍历和判断是否为完全二叉树

    层序遍历 从所在二叉树的根节点出发,首先访问第一层的树根节点,然后从左到右访问第二层上的节点,接着是第三层的节点,以此类推,自上而下,自左至右逐层访问树的节点的过程. while(队列!=NULL) ...

  9. C++实现二叉树相关问题(先序遍历,中序遍历,后序遍历,层序遍历,搜索二叉树、平衡二叉树、满二叉树、完全二叉树的判断,最低公共祖先,二叉树的序列化和反序列化)

    目录 题目一 二叉树递归和非递归遍历 题目二 如何完成二叉树的宽度(也叫层序)遍历(常见题目:求一棵二叉树的宽度) 题目四 如何判断一棵二叉树是搜索二叉树(BST)? 题目四 如何判断一棵二叉树是平衡 ...

最新文章

  1. python打印换行符_Python换行符以及如何在不使用换行符的情况下进行Python打印
  2. 一文清晰讲解机器学习中梯度下降算法(包括其变式算法)
  3. 在虚拟机下体验ubuntu(有奔头)
  4. sap知识-MPS和MRP的区别
  5. labview案例_10余年工程师大牛告诉你,学好LabVIEW,什么时候都不算晚
  6. 谷歌新开源的MorphNet到底能为我们做什么?
  7. ubuntu 12.04 mysql_Ubuntu 12.04 mysql 源码安装--mysql.5.5.x
  8. 安卓安装之离线搭建Android Studio开发环境
  9. 仅需6道题轻松掌握Python异常捕获 | Python技能树征题
  10. Delphi- repeate
  11. php 应用截图,PHP实现网页截图?
  12. Word文档打开后不能编辑,可以这样处理
  13. iphone充电图_哪些iPhone具有无线充电功能?
  14. [学习笔记-扫盲]KL15,KL30
  15. 血气方刚的年轻小伙竟去做家政小哥,是怎样成功逆袭转行的
  16. 基于用户的协同过滤算法详解
  17. 默然说话20160312
  18. 解决WPS字体缺失问题的四种方法
  19. 安徽大学生攻防赛 crypto-wp
  20. 安卓开发(一)环境搭建、基本程序与控件

热门文章

  1. 根据ttf文件 获取汉字点阵数据
  2. Joinquant : 不限语言·极速调取 | JQData HTTP 接口正式上线
  3. 相关系数和显著性检验
  4. surfaceView、surface和sufaceHolder的关系
  5. CSS水平居中+垂直居中+水平/垂直居中的方法总结
  6. Windows编程之使用GetAsyncKeyState()函数为什么要( 0x8000)?
  7. 西单女孩首唱《光明的路途》
  8. HTML学生个人网站作业设计:动漫网站设计——刀剑神域(8页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  9. Centos7+puppet+foreman,实现部署OS
  10. 小米手机强制获取权限问题(小菜转行测试员,测试雷军、马化腾、马云以及无名小辈和国外朋友之间的关系)---辣鸡