首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2K一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(1child,data,rchild),根结点所在链结点的指针由T给出。
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2K一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(1child,data,rchild),根结点所在链结点的指针由T给出。
admin
2019-08-15
33
问题
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2
K
一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(1child,data,rchild),根结点所在链结点的指针由T给出。
选项
答案
二叉树采用顺序存储结构(一维数组)是按完全二叉树的形状存储的,不是完全二叉树的二叉树顺序存储时,要加“虚结点”。数组中的第一个元素是根结点。本题中采用队列结构。 typeclef struct { BiTree bt: //二叉树结点指针 int num; }tnode: //num是结点在一维数组中的编号 tnode Q[maxsize]; //循环队列,容量足够大 void creat(BiTree T,ElemType BT[]){ //深度h的二叉树存于一维数组BT[1..2
k
一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]=='#'∣∣112*i>len)p->lchild=null; //左子树为空,'#'表示虚结点 else{ //建立左子女结点并入队列 p一>lchild=(BiTree)malloc(sizeof(BiNode)); //申请结点空间 P一>lchild一>data=BT[2*i]; //左子女数据 tq.bt=p一>lchild;tq.num=2*i;real=(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: real=(real+1)%maxsize;Q[rear]=tq; //计算队尾位置,右子女及其编号入队 } }//while } 提示:本题中的虚结点用'#'表示,应根据二叉树的结点数据的类型而定。
解析
转载请注明原文地址:https://kaotiyun.com/show/BcCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
马克思说:巴黎公社“只不过是在特殊条件下的一个城市起义”。其含义是()。
西汉的主要赋税形式中,征收对象是儿童的是()。
下列各组条约的时间排列顺序正确的是()。①《布列斯特条约》②《色佛尔条约》③《九国公约》④《洛桑条约》
在罗斯福新政期间,美国政府在森林中修筑铁路,力图为美国青年人提供更多的工作机会。这种举措有利于()。①缓和阶级矛盾和安定社会秩序②扩大消费,刺激经济复苏③根除资本主义经济危机④消除资本主义社会的基本矛盾
制瓷业是光彩夺目的一个手工业部门,北宋的制瓷业的重心在黄河流域和中原地区。回答问题:()创于唐,盛于北宋,以白瓷著名,为宋代印花白瓷的精品
赋税是我国古代国家宏观管理经济的重要手段。据此回答问题:西汉到北魏赋税制度的变化的基本趋势是()
下列各种情况中,应采用异步通信方式的是()。
A、1243B、4312C、2134D、3214D图的BFS遍历。D选项,首先访问结点3,与3邻接的结点4、2都未曾访问过,故3后面因该为2、4(或4、2),故D错。
设某计算机系统有一块CPU、一台输入设备、一台打印机。现有两个进程同时进入就绪状态,且进程A先得到CPU运行,进程B后运行。进程A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。进程B的运行轨迹为:计算50
已知二叉树采用二叉链表方式存放,要求返回二叉树T的后序序列中的第一个结点的指针,是否可不用递归且不用栈来完成?请简述原因。
随机试题
人工心脏起搏
A、脾胃虚弱B、肝郁脾虚C、脾肾阳虚D、伤食积滞E、多属气虚脾胃虚弱
依据我国《环境保护法》的有关规定,下列关于污染物排放标准的制定权限和效力的规定,说法不正确的是:()
作为房地产投资者,其投资可能来源于(),其收益可能来源于出售、出租或经营,但在进行投资决策中,他们都无一例外地要把所有的支出与收入都折算到同一时间点,并通过一系列投资效果评价指标的计算,在各种可能的投资方案之间进行比较、分析。
下列有关咨询机构承担的违约责任说法正确的是()。
对铸铁的韧性和塑性影响最大的因素为()。
企业的生产划分为中长期计划、年度生产讦如和生产作业计划。其中,年度生产计划的时间期限一般是()年。
企业通过经营租赁方式租入的建筑物再出租的也属于投资性房地产的范围。()
城镇土地的基准地价是以()为依据评估出来的。
Thepopulationoftheworldtodayisabout______.EnglandandWales______.
最新回复
(
0
)