2 qq 33070397 qq_33070397 于 2016.04.22 23:54 提问

数据结构(二叉树)问题!!!

刚刚接触数据结构(二叉树),下面这个题目我做出来了,测试数据是对的,但是提交是错的,不知道是不是有什么特殊情况啊

Input

输入数据分为多组,第一行是测试数据的组数T。然后接T组测试。
对于每组测试,首先是一个正整数n,代表即将给出的二叉树的节点总数(当然,其中可能包含虚节点)。结点编号均为正整数,且各不相同。
二叉树的构造按照完全二叉树的顺序给出(即第1层1个整数,第2层2个,第3层4个,第4层有8个......,如果某个结点不存在以 0代替)

Output

分两行分别输出中序遍历二叉树得到的序列(结点之间保留一空格)以及每棵二叉树的深度。

Sample Input
2
1 1
4 1 4 0 2
Sample Output
1
1
2 4 1
3

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.23 00:07

你做出来了,你程序呢?没程序问为什么错了鬼知道。

caozhy
caozhy 回复qq_33070397: 把程序上传到网盘,地址贴这里
大约 2 年之前 回复
qq_33070397
qq_33070397 程序有点长
大约 2 年之前 回复
CSDNXIAOS
CSDNXIAOS   2016.04.23 00:02

   #define null 0   #include "stdio.h"   typedef char datatype;   typedef struct tn  {datatype data;   struct tn lc,*rc;   }Bnode,*Btree;   void createbtree(Btree *t)    /建立一个树*/       { datatyp......
答案就在这里:数据结构-二叉树 问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

NK_test
NK_test   Rxr 2016.04.23 00:04

null特殊情况考虑了吗?

qq_33070397
qq_33070397 我也考虑了,但是不知道考虑得对不对。就是根结点为NULL时,无法中序遍历,不知道是输出什么,然后我就弄成不输出,但深度为0可以输出,这样考虑对吗?
大约 2 年之前 回复
NK_test
NK_test 对,根节点null
大约 2 年之前 回复
qq_33070397
qq_33070397 就是输入1然后输入0这个吗 就是根结点是虚的
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
数据结构—— 二叉树数据结构的节点删除问题
二叉树的结构,查找,插入,遍历就不细说了,很简单。如下代码: 删除节点是比较麻烦的,分三种情况:没有子节点的(也就是叶节点),有一个节点的,有2个节点的 一,没有节点的情况 简单!找到该节点,设置该节点父节点的指向为null; 找待删除节点的代码如下,类似find方法: 这里有个isLeftChild标识很重要,判断待删除节点是父节点的左枝还是右枝,便
【数据结构】二叉树面试题总结
为了对二叉树的知识进行巩固,今天我们来解析5道二叉树的经典面试题。 这五道面试题如下: 求二叉树中最远两个结点的距离; 判断一棵树是否是完全二叉树; 由前序和中序遍历序列重建二叉树 (前序序列:1 2 3 4 5 6 - 中序序列:3 2 4 1 6 5); 求二叉树两个结点的最近公共祖先; 将二叉搜索树转化成有序的双向链表;现在我们来对这五道题进行分析: 求二叉树中最远的两个节点之间的距离这
二叉树相关面试题目总结
前言: 一、为什么要树结构? 不像数组、链表是线性的数据结构,树是一种分层的非线性数据结构 (1)使用树的一个原因是:我们需要存储有分层关系的信息(比如说文件系统) (2)另外一个是(BST):当把树建成有一定的形式的树可以方便数据的查找(对于平衡的树,查找时间复杂度为O(logn))。 (3)同理对于这样一个树(AVL/红黑树):他们的插入和删除的时间复杂度是(O(logn)) (4
数据结构与算法——二叉树的创建与遍历
这两天在看树的部分,先总结一下二叉树。 什么是树? 树也是一种数据结构,是由n个结点组成的具有层次关系的集合。树由根结点和子节点组成,与现实生活中的树不同,这里的树,根结点是在最上面的,叶子结点在下面,就像是将现实中的树倒着挂起来一样。 树的特点: 每个结点有零个或多个子结点。每一个子结点只有一个父结点。没有前驱的结点称为根结点,没有子结点的结点为叶子结点。除根结点外,每个子结点可
数据结构-二叉树基础题目小结(遍历,求节点数目等等)
包含以下基本操作实现: 前序中序后序遍历的递归非递归写法; 给定序列构建二叉树; 层序遍历; 节点数目; 叶子节点数目; 数的高度;
Linux C 数据结构——二叉树
一、树的概念       树(tree)是n(n>=0)个节点的有限集合T,它满足两个条件: 1)有且仅有一个特定的称为根(root)的节点; 2)其余的节点可以分为m(m>=0)个互不相交的有限结合T1、T2、...、Tm,其中每一个集合又是一棵树,并成为其根的子数(Subtree)。      树的逻辑结构:树中任何节点都可以有零个或多个直接后继节点(子节点),但至多只有一个直接前
【数据结构】二叉树的原理及实现学习总结
二叉树概述数组、向量、链表都是一种顺序容器,它们提供了按位置访问数据的手段。而很多情况下,我们需要按数据的值来访问元素,而不是它们的位置来访问元素,二叉树在很大程度上解决了这个问题,二叉树是按值来保存元素,也按值来访问元素。二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。
数据结构—二叉树(C语言实现)
以下所有内容来自网易云课堂——数据结构(小甲鱼版) 对于树来说,一旦可以指明他的分支数,那么就可以用链表来实现了 二叉树是应用广泛的树,因为现实世界大部分模型都只包含0,1这两种情况,非常适合用二叉树 如下: typedef struct BiNode { char content ; struct BiNode *left; struct BiNo
数据结构 - 二叉树 - 面试中常见的二叉树算法题
数据结构 - 二叉树 - 面试中常见的二叉树算法题 数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组、链表)、栈与队列、树(二叉树、二叉查找树、平衡二叉树、红黑树)、图。 本文主要介绍树中的常见的二叉树数据结构。包括 概念简介 二叉树中树节点的数据结构(Java) 二叉树的遍历(Java) 常见的二叉树算法题(Java) 概念简介 如果对二叉
重言式判别 (数据结构课程设计)
花了一下午在写这个重言式判别,可能是我孤陋寡闻了,总感觉这个名字怪怪的,就是判断一个永真式、永假式、可满足式了,书上面就要说是"重言式"。判断这个所谓重言式,核心算法就是用真值表啦,试过所有取值。具体代码如下(可能有bug):有些难理解的我都有注释/**//*****************************************************************