首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2h-1]中,请写一非递归算法,产生该二叉树的二又链表结构。设二又链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2h-1]中,请写一非递归算法,产生该二叉树的二又链表结构。设二又链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
admin
2019-08-01
37
问题
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2
h
-1]中,请写一非递归算法,产生该二叉树的二又链表结构。设二又链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
选项
答案
二叉树采用顺序存储结构(一维数组)是按完全二叉树的形状存储的,不是完全二叉树的二叉树顺序存储时,要加“虚结点”。数组中的第一个元素是根结点。本题中采用队列结构。 typedef struct{ BiTree bt: //-叉树结点指针 int num; }tnode: //aura是结点在一维数组中的编号 tnode Q[maxsize]; //循环队列,容量足够大 void creat(BiTree T,ElemType BT[]){ //深度h m-Y-树存于一维数组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.hum; //出队,取出结点及编号 if(BT[2*i]==’#’.||2*i>len) p一>lehild=null; //左子树为空,’#’表示虚结点 else{ //建立左子女结点并入队列 p一>lchild=(BiTree)malloc(sizeof(BiNode)); //申请结点空间 P一>lchild一>data=BT[2*i]; //左子女数据 tq.bt=p一>lehild:tq.hum=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.num=2*i+l; rear=(rear+1)%maxsize;Q[rear]=tq;//计算队尾位置,右子女及其编号入队 } }//while }
解析
转载请注明原文地址:https://kaotiyun.com/show/s3Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
()是二战后一个调整各国贸易关系的法律框架,又是一个进行多边贸易谈判、争夺市场的场所,还是一个调解和解决争议的机构。
现代人种出现于人类发展过程中的哪一个时期?()
赋税是我国古代国家宏观管理经济的重要手段。 据此回答问题:明朝推行一条鞭法中“一”的内容是()
标志着整风运动开始向反“右派”斗争转变的重要文件是()。
中国第一个资产阶级革命团体兴中会建立的时间是()。
1141年,金与南宋双方签订协议,规定以淮水和大散关为宋金的分界线,此协议称为()。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
什么是域名解析?域名解析中采取了什么措施提高效率?对同一个域名向DNS服务器发出多次的DNS请求报文后,得到IP地址都不一样,可能吗?为什么?
判断有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用的是()。
下面输入一个很诡异的链表,暂时称它为“变异链表”,如图4—3所示。从图中可以看出此链表的尾部形成了一个环,请实现一个时间和空间上尽可能高效率的算法来判断输入的链表是否为“变异链表”,要求:给出算法的基本设计思想。
随机试题
上腹部CT检查前,一般需口服稀释的阳性对比剂,通常检查前30分钟1次口服的量是
T形引流管的描述正确的是
(2008年)边界层分离的必要条件是()。
案例7月28日,某煤矿掘进队作业人员一部分在平巷掘进,一部分人在上风眼运料。由于绞车信号失灵尚未修好,工作面又急于施工,就用人喊话联系提料,但局部通风机距离绞车较近,噪声较大(局部通风机没安消声器),喊话听不清,便关闭局部通风机进行喊话联系运料。
在登记账簿过程中,每一账页的最后一行及下一页第一行都要办理转页手续,是为了()。
()是承运人承认提单是运输合同成立的证明,承诺按照提单的规定承担义务和享受权利,而且也要求托运人承诺接受该提单条款制约的条款。
要学会变着花样的复习,其中包括()。
设矩阵A=(aij)3×3满足A*=AT,其中A*为A的伴随矩阵,AT为A的转置矩阵.若a11,a12,a13为三个相等的正数,则a11为
设随机变量X和Y的概率分布分别为P(X2=Y2)=1。(Ⅰ)求二维随机变量(X,Y)的概率分布;(Ⅱ)求Z=XY的概率分布;(Ⅲ)求X与Y的相关系数ρXY。
阅读下列说明,回答问题。【说明】针对电子商务软件开发建设项目,建设单位甲与承建单位乙签订了项目实施合同,与监理单位丙签订了项目监理合同。在项目实施过程中发生了如下事件。【事件1】合同生效后,承建单位项目经理在短时间内即完成了项目计划的编制并提交监理
最新回复
(
0
)