首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1.2h一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1.2h一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
admin
2019-08-01
67
问题
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1.2
h
一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
选项
答案
二叉树采用顺序存储结构(一维数组)是按完全二叉树的形状存储的,不是完全二叉树的二叉树顺序存储时,要加“虚结点”。数组中的第一个元素是根结点。本题中采用队列结构。 typedef struct{ BiTree bt: //二叉树结点指针 int Bum; }tnode: //Bum是结点在一维数组中的编号 tnode Q[maxsize]; //循环队列,容量足够大 void creat(BiTree T,ElemType BT[]){ //深度h的二叉树存于一维数组BT[1.2
h
一1]中 //本算法生成该二叉树的二叉链表存储结构 tnode tq: //tq是队列元素 int len,i: //数组长度 len=strlen(BT); T=(BiTree)malloc(sizeof(BiNode)); //申请结点 T一>data=BT[1]; //根结点数据 tq.bt=T;tq.num=1; Q[1]:tq; //根入队列 front=0;rear=1; //循环队列头、尾指针 while(front!=rear){ //当队列不空时循环 front=(front+1)%maxsize; tq=Q[front];p=tq.bt;i=tq.num; //出队,取出结点及编号 if(BT[2*i]==‘#’||2*i>len) p->lchild=null; //左子树为空,‘#’表示虚结点 else{ //建立左子女结点并入队列 p一>lchild=(BiTree)malloc(sizeof(BiNode)); //申请结点空间 p一>lchild一>data=BT[2*i]: //左子女数据 tq.bt=p一>lchild; tq.Bum=2*i;rear=(rear+1)%maxsize; //计算队尾位置 Q[rear]=tq; //左子女结点及其编号入队 } if(BT[2*i+1]==‘#’||2*i+l>len)p一>rchild=null; //右子树为空 else{//建立右子女结点并入队列 p一>rchild=(BiTree)malloc(sizeof(BiNode); //申请结点空间 p一>rchild一>data=BT[2*i+1];tq.bt=p一>rchild;tq.Bum=2*i+1; rear=(Fear+1)%maxsize;Q[rear]=tq: //计算队尾位置,右子女及其编号入队 } }//while } 提示:本题中的虚结点用‘#’表示,应根据二叉树的结点数据的类型而定。
解析
转载请注明原文地址:https://kaotiyun.com/show/qCCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
我国历史上一次有周密计划、经过长期准备并利用宗教形式组织和发动的农民起义是()。
论述西欧十字军东侵的历史原因及后果。
有研究者提出,1850年以后的34年中,流人中国的白银是之前34年的两倍。出现这一现象的原因是()
简述第二次世界大战中各主要战场战略性转折的时间及其代表性战役。
资产阶级改良道路行不通,资产阶级共和国方案夭折,其共同原因在于()。①中国封建势力的强大②帝国主义列强的直接破坏③资产阶级的软弱妥协④没有充分地发动人民群众
巴黎和会上,英美主张把原德国在山东的权利转让给日本,华盛顿会议又表示支持中国让日本归还山东的要求,英美态度发生变化的根本原因是()。
标志着南京国民政府在全国范围内形式上完成统一的事件是()。
康熙五十九年(1720)指定()组织“公行”(“十三行”)专营对外贸易。凡外商税项的征收、货物的交易,以及外商生活的管理等,均归“行商”负责。
(1)根据无类IP地址的规则,每个网段中有两个地址是不分配的:主机号全0表示网络地址,主机号全1表示广播地址。因此8位主机号所能表示的主机数就是28-2,即254台。该网络要划分为两个子网,每个子网要120台主机,因此主机位数X应该满足下面三个条件:
在协议数据单元中,控制信息所不包括的内容是()。
随机试题
2019年12月17日,我国第一艘国产航母山东舰正式交付。下列关于山东舰的说法,错误的是()。
简要回答“两个一百年"的奋斗目标。
从日常生活看,《雨巷》所抒写的是
A.DNA-polαB.DNA-polβC.DNA-polγD.DNA-polδE.DNA-polε
男性患者,28岁,高血压病1年,乏力、咽痛4d,肉眼血尿1d。查体:体温38.5℃,血压160/100mmHg,咽赤,扁桃体Ⅰ度大,双下肢无水肿。尿蛋白2.5g/d,尿沉渣镜检红细胞满视野,血肌酐190μmol/L,尿比重1.018,肝功能正常,肝炎标志物
吡喃香豆素是由C-6或C-8异戊烯基与邻位酚羟基环合而成的
患者,男,65岁。慢性支气管炎及高血压病史10年,近半年活动后自觉气短。检查:血压160/95mmHg(21.3/12.6kPa),心脏听诊未闻及器质性杂音,两肺听诊无异常,心电图及X线显示左心室增大。应首先考虑的是
压力容器的()压力,是指在相应设计温度下用以确定容器壳体厚度及其元件尺寸的压力,即标注在铭牌上的设计压力,其值不得小于最高工作压力。
证明幂级数是微分方程yˊˊ-y=-1的解,并由此求该幂级数的和函数.
Humansshouldnotdeveloptheireconomyatthe______oftheecologicalenvironment.
最新回复
(
0
)