首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2h一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2h一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
admin
2019-01-16
35
问题
已知深度为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.nun=1; Q[1]=tq; //根入队列 front=0;rear=1; //循环队列头、尾指针 while(front!=rear){ //当队列不空时循环 front=(front+1)%maxsize: tq=Q[front];P=tq.bt;i=tq.nun; //出队,取出结点及编号 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+1>len)p一>rchild=null; //右子树为空 else{//建立右子女结点并入队列 P一>rchild=(BiTree)malloc(sizeof(BiNode); //申请结点空间 P一>rchild一>data=BT[2*i+1];tq.bt=p->rchild;tq.nun=2*i+1: rear=(rear+1)%maxsize;Q[rear]=tq; //计算队尾位置,右子女及其编号入队 } }//while }
解析
转载请注明原文地址:https://jikaoti.com/ti/ppfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
()是中国历史上第一次大规模的群众性武装暴动。
《关于建国以来党的若干历史问题的决议》
北宋时期,对市场商品价格管理主要采取()。
下列不属于延安整风运动的文件是()。
在“冷战”形成的过程中,影响苏联领导人对美政策变化的关键性事件是()。
简述路德“唯信称义”与加尔文“预定论”的关系与区别。
以下不属于国民党控制金融的“四行”是()。
清廷实行厘金制度的时间是()。
法国大革命中,颁布全面限价法案的政治派别是
以下()协议完成了从网卡到IP地址的映射。
随机试题
尿酮体阳性可见于
《报告环境污染与破坏事故的暂行办法》规定,以下为特大环境污染与破坏事故的是()。
质量控制工作流程不包括()。
以下哪几项是微观城市经济学主要研究的内容?
全陪熟悉旅游团行程计划的目的是为了更好地把握行程中旅游活动的(),保证旅游团的旅游行程能够安全、顺利地完成。
商洽性文件的主要文种是( )。
下列各项中,符合慢性主动脉瓣关闭不全的体征有
一种虾常游弋于高温的深海间歇泉附近,在那里生长有它爱吃的细菌类生物。由于间歇泉发射一种暗淡的光线,因此,科学家们认为这种虾背部的感光器官是用来寻找间歇泉,从而找到食物的。下列哪项对科学家的结论提出质疑?
在RIP协议中,可以采用水平分割法(Split Horizon)解决路由环路问题,下面的说法中正确的是(24)。
Whatisthenewsitemmainlyabout?
最新回复
(
0
)