首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假定用两个一维数组L[N]和R[N]作为有N个结点1,2,…,N的二叉树的存储结构。L[i]和R[i]分别指示结点i的左儿子和右儿子;L[i]=0(R[i]=0)表示i的左(右)儿子为空。试写一个算法,由L和R建立一个一维数组T[n],使T[i]存放结点i
假定用两个一维数组L[N]和R[N]作为有N个结点1,2,…,N的二叉树的存储结构。L[i]和R[i]分别指示结点i的左儿子和右儿子;L[i]=0(R[i]=0)表示i的左(右)儿子为空。试写一个算法,由L和R建立一个一维数组T[n],使T[i]存放结点i
admin
2016-03-29
65
问题
假定用两个一维数组L[N]和R[N]作为有N个结点1,2,…,N的二叉树的存储结构。L
和R
分别指示结点i的左儿子和右儿子;L
=0(R
=0)表示i的左(右)儿子为空。试写一个算法,由L和R建立一个一维数组T[n],使T
存放结点i的父亲;然后再写一个判别结点U是否为结点V的后代的算法。
选项
答案
由指示结点i左儿子和右儿子的两个一维数组L[i]和R[i],很容易建立指示结点i的双亲的一维数组T[i],根据T数组,判断结点U是否是结点V后代的算法转为判断结点V是否是结点U的祖先的问题。 int Generation(int u,V,N,L[],R[],T[]){ //L[]和R[]是含有N个元素且指示二叉树结点i左儿子和右儿子的一维数组 //本算法据此建立结点i的双亲数组T,并判断结点U是否是结点V的后代 int i; for(i=1;i<=N;i++)T[i]=0; //T数组初始化 for(i=1;i<=N;i++)//根据L和R填写T if(L[i]!=0)T[L[i]]=i; //若结点i的左子女是L,则结点L的双亲是结点i for(i=1;i<=N;i++) if(R[i]!=0)T[R[i]]=i;//i的右子女是R,则R的双亲是i int parent=U: //判断U是否是V的后代 while(parent!=V&&parent!=0)parent=T[parent]; if(parent==V){pfintf(”结点u是结点V的后代”);return(1);} else{pfintf(”结点U不是结点V的后代”);return(0);} }//结束Generation
解析
转载请注明原文地址:https://www.kaotiyun.com/show/bnRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1628年出版了《心血运动论》一书,论证了血液在全身的循环运动,使生理学发展为科学的是()。
春秋战国时代,小农经济出现的最主要的条件是()
揭开巴黎公社革命序幕的事件是()。
简述西属拉丁美洲独立战争三个中心斗争情况。
东汉末年,朝鲜半岛北部先后兴起()、百济、新罗三个国家。
古希腊是西方文明的发源地,古希腊雅典的民主政治则开启了两方民主制度的先河。下列关于雅典民主政治的说法,符合史实的有()。①民主政治时期的雅典没有国王②公民大会是雅典国家的最高决策机构③伯里克利时期,雅典民主政治达到了顶峰④包括妇女在内的
西汉初年,反驳刘邦“马上治天下”的说法,并向汉帝国治国献策的是()。
三国时期,魏、蜀、吴三国灭亡的历史顺序是()。
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
float型数据通常用IEEE754单精度浮点数格式表示。若编译器将float型变量x分配到一个32位浮点寄存器FRl中,且x=一8.25,则FRl的内容是____。
随机试题
以人为本就是以最广大人民的根本利益为本。坚持以人为本()
张三与甲保险公司签订了一份保险合同,后被认定为无效的保险合同,其法律后果是
下列表示的按钮是()。
内环境稳态是指
A.朗格汉斯细胞B.梅克尔细胞C.角质细胞D.组织细胞E.成纤维细胞与免疫功能有关的细胞是
按照我国刑法,下列哪些说法是正确的?
小李和老张打赌扔一枚质地均匀的硬币,扔出的结果是有字的一面向上,从概率理论角度来讲,这一结果称为一个( )。
甲出售一批货物给乙,双方约定由乙上门自提,乙遂与丙签订运输合同,由丙负责送货,货物在运输途中由于司机的过失造成货物灭失。根据合同法律制度的规定,下列说法正确的有()。
“花月政变”
Population
最新回复
(
0
)