首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2h一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1..2h一1]中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(lchild,data,rchild),根结点所在链结点的指针由T给出。
admin
2019-01-16
57
问题
已知深度为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://www.kaotiyun.com/show/YYRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
从20世纪50年代开始,西欧和日本资本主义经济持续发展的共同原因是()。①政府都推行了一些社会改革,促进了经济发展②都注重发展或引进先进的科学技术、提高劳动生产率③都重视发展教育,培养人才④都接受了国外大量订货,刺激了经济发展
民族区域自治制度是在国家的统一领导下,在()实行民族区域自治,设立自治机关,行使自治制度。
简述梭伦改革的主要内容和历史意义。
概述公元前8—前6世纪希腊海外殖民的背景、范围及影响。
“二战”后主要资本主义国家经济恢复和发展的杠杆是()。①政府采取宏观调控政策②发展国家垄断资本主义③充分利用科技成果④加强国际经济联系
毛泽东提出“政权是由枪杆子中取得的”论段是在()。
已知一组关键字为(26,36,41,38,44,15,68,12,6,51,25),用链地址法解决冲突。假设装填因子a=0.75,散列函数的形式为H(K)=KMODP,回答下列问题:(1)构造散列函数。(2)画出散列表。(
对下列4个序列用快速排序方法进行排序,以序列的第1个元素为基准进行划分。在第1趟划分过程中,元素移动次数最多的是()。
下图是某存储芯片的引脚图,请回答:(1)这个存储芯片的类型(是RAM还是ROM)?这个存储芯片的容量?(2)若地址线增加一根,存储芯片的容量将变为多少?(3)这个芯片是否需要刷新?为什么?刷新和重写有什么区别。(4)
某32位计算机系统采用段页式虚拟存储管理,现有一个进程被分成5段,其段号和段长见下表,段内分页,页表见下,存放在内存中,每页的长度为4096B。进程运行到某一个指令,其地址为(2,3,010),当前CPU的寄存器和地址加法器的状态如图所示,当上述指令执行时
随机试题
2岁小儿,因身高明显低于同龄儿来医院检查。问病史发现该患儿长期以来单纯谷类食物喂养,近3个月来易疲劳。查体见黏膜和甲床苍白、头发枯黄、肝脾轻度肿大。血红蛋白80g/L,血涂片见红细胞体积小、含色素低。
急性白血病引起贫血最常见的原因是()
1999年4月南方某大型湖泊1800亩水面泛起了一片片死鱼,湖水呈黑色,空气中弥漫着难闻的臭味,使人感到呼吸困难,头昏、恶心等。这次大面积突发死鱼事件最可能的原因是
与咬肌间隙没有直接相通的蜂窝组织间隙是
特许离监制度
下列句子中,成语使用正确的一项是:
及时纠偏,_________纠错,不仅体现一个社会的集体智慧,也是一个国家理性力量的表现。就像当初,如能认识到人口问题的严重性,今天解决人口超负荷的难度就会低得多。因此,从及时纠错的现代理性角度看,适度容忍不同声音是相当必要的,多元价值的重要意义之一便是达
近年来,“瘦肉精”“地沟油”等食品安全恶性事件不断发生,食品安全防线的失守告诉我们,光是整治企业,问题并不能得到根本解决,在监管方面,还有大量的难题需要攻关。这表明()。
AstudyfoundthattheradiationfromCTscans—thetestsregularlyusedto【C1】______internalinjuriesorsignsofcancer—islike
Signsbarringcell-phoneuseareafamiliarsighttoanyonewhohaseversatinahospitalwaitingroom.Butthe【C1】________popu
最新回复
(
0
)