首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1.2k一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1.2k一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
admin
2019-01-16
33
问题
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1.2
k
一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
选项
答案
二叉树采用顺序存储结构(一维数组)是按完全二叉树的形状存储的,不是完全二叉树的二叉树顺序存储时,要加“虚结点”。数组中的第一个元素是根结点。本题中采用队列结构。 typedef struct{ BiTree bt; //二叉树结点指针 int num; }tnode; //num是结点在一维数组中的编号 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.nun=l; 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->lehild;tq.num=2*i;rear=(rear+1)%maxsize; //计算队尾位置 Q[rear]=tq; //左子女结点及其编号入队 } if(BT[2*i+1]==’#’||2*i+1>len)p->rchild=null; //右子树为空 else{//建立右子女结点并入队列 P一>rchild=(BiTree)malloc(sizeof(BiNode); //申请结点空间 P一>rchild->data=BT[2*i+1];tq.bt=p一>rchild;tq.num=2*i+1; rear=(rear+1)%maxsize;Q[rear]=tq; //计算队尾位置,右子女及其编号入队 } }//while }
解析
转载请注明原文地址:https://jikaoti.com/ti/c3fjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
党锢事件发生后,清议的浪潮更为高涨,度辽将军()没有被当做名士列入党锢,甚至自陈与党人的关系,请求连坐。
下列选项中,不属于列宁《四月提纲》内容的是()。
简述按照恩格斯的划分方法人类的起源与进化。
隋唐科举制的进士科最先出现在()。
明朝中叶,美洲高产的农作物()的传入,对改变当时人们的食品结构产生了重大影响。
下列历史事件发生的先后顺序是()。①“铁幕”演说②马歇尔计划③北大西洋公约
电子计算机的发展经过了:①电子数值积分计算机(ENIAC)②集成电路计算机③大规模集成电路汁算机④晶体管计算机⑤人工智能计算机其先后顺序是()。
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
就绪队列中有n个进程等待使用一个CPU,那么,如果采用不同的调用算法,就有()种调度顺序。
某个页式存储管理系统,接收了一个大小一共7页的程序,其依次访问的页为:1、2、3、4、2、1、5、6、2、1、2、3、7。若分配给该程序的内存空间为4页,并一次预装入,请用先进先出(FIFO)调度算法和最近最少用(LRU)凋度算法计算,程序执行时会产牛多少
随机试题
长江公司设有维修和供电两个辅助生产车间,根据有关资料,维修车间的计划单位成本为11元/小时,供电车间的计划单位成本为0.8元/度,8月份有关资料见下表(假设基本生产车间只生产一种产品,各辅助车间也只提供一种劳务):[要求]采用计划成本分配法分配辅助生产
患者,男,28岁。因急性阑尾炎入院。提示阑尾位于盆腔的检查是
在R、L、C串联电路中,XL=20Ω。若总电压维持不变而将L短路,总电流的有效值与原来相同,则XC应为()Ω。
安全生产管理的预防原理中,本质安全化原则可以应用于()中。
我国邮政储蓄存款的资金运用主要有()。
2012年3月,温家宝在政府工作报告中指出,2012年的主要任务是:(1)促进经济平稳较快发展。(2)保持物价总水平基本稳定。(3)促进农业稳定发展和农民持续增收。必须坚持把解决好“三农”问题作为各项工作的重中之重。(4)加快转变经济发展方式。
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【】两个含义。
A、 B、 C、 D、 B图片主体是男人坐在摇椅的坐垫上,表情轻松地讲电话,所以正确项是(B)“男人的心情很好”。
HowtoUsetheInternettoLearnaLanguage?Internethasmadecommunicationandlearningalanguagemuchmoreaccessible.Toma
A、BygettingallthedevicesofftheInternet.B、Bystoppingusingalltheadvancedlaserprinters.C、Byinstallinghigh-techan
最新回复
(
0
)