首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设二叉树采用二叉链表存储结构存储,设计一个算法,求先序遍历序列中第k(1≤k≤二叉树中结点个数)个结点的值,要求: 根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
假设二叉树采用二叉链表存储结构存储,设计一个算法,求先序遍历序列中第k(1≤k≤二叉树中结点个数)个结点的值,要求: 根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
admin
2018-07-17
38
问题
假设二叉树采用二叉链表存储结构存储,设计一个算法,求先序遍历序列中第k(1≤k≤二叉树中结点个数)个结点的值,要求:
根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
选项
答案
算法的设计如下: int n=1; ElemType PreNode(BTNode *b,int k)( ElemType ch; if(b==NULL) return ’ ’; if(n==k) return b—>data; ++n; ch=PreNode(b—>ichild,k); if(ch!=’ ’) return ch; ch=PreNOde(b—>rchiid,k); return ch; } 若对递归不熟悉的同学也可以在二叉树的非递归先序遍历算法模型上进行修改,考虑到非递归算法的复杂性,考场上并不推荐使用非递归算法,既耗时又容易出错。相比之下,递归算法不仅简单,代码数量也较短,适宜在考场上使用。学有余力的同学可以自己再用非递归算法把这题再做一遍。 下面给出非递归算法的代码: #define MaxSize 100 int n=1; ElemType PreNode(BTNode *b,int k){ BTNode *st[MaxSize],*p; if(b!=NULL){ st[++top]=b; while(top>—1){ p=st[top一一]; ++n; if(n==k)return P—>data; if(p—>rchild)st[++top]=p—>rchild; //右子树进栈 if (p—>lchild)st[r++top]=p—>lchild; //左子树进栈 } } return’ ’; } 在统考中,二叉树的算法大多会围绕遍历这个知识点进行出题,考生务必掌握好三种遍历算法,并在基本算法的基础上学会简单的修改进而解决问题。
解析
转载请注明原文地址:https://kaotiyun.com/show/3yRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列关于湘军的叙述中不正确的是()。
文艺复兴运动兴起的时间是()。
在1959年中共中央召开的庐山会议上遭到错误批判的是()。
近代中国各派军阀的共同点有()①始终打着维护共和制度的旗号②利用中央政权排斥异己③都试图夺取中央政权④以帝国主义列强为靠山
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
德国农民战争过程中,颁布的具有资产阶级性质的革命纲领是()。
西周前期,曾先后向东、南和西三个方向扩张,其中向南扩张主要发生在()
沙俄企图侵占中国东北地区,制造“海兰泡惨案”的时间是()。
在20世纪60年代末,日本发展成为资本主义世界第二号经济强国的诸多因素中,不包括()。
“瓜步之战”发生在下列哪两个政权之间?()
随机试题
体内氨最主要的去路是
肌肉中最主要的脱氨基方式是
男,50岁。突发心悸1小时,20年前曾诊断为“预激综合征”。查体:BP70/50mmHg,心率190次/分,律绝对不齐。心电图示QRS波宽大畸形。该患者最佳治疗措施是()
当事人在合同被确认是无效合同以后()。
下列建筑应设室内消火栓系统的是()。
某烟厂4月外购烟丝,取得增值税专用发票上注明税款为58.5万元,本月生产领用库存烟丝80%,泫企业本月应纳消费税中可扣除的消费税是()(注:4月期初尚有库存的外购烟丝2万元)。
在现有费用项目的基础上,重新考虑费用开支的合理性,这种预算编制的方法就是零基预算。()
关于弗洛伊德的人格结构理论中的超我,正确的说法是()。
西方公认的科学教育心理学的创始人是()
在我国教育法规体系中,法的效力层次最低的是()。
最新回复
(
0
)