五树与二叉树练习题.doc_第1页
五树与二叉树练习题.doc_第2页
五树与二叉树练习题.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

树与二叉树练习题(五)习题 2010-05-25 17:27:01 阅读55 评论0 字号:大中小 1. 己知二叉树采用二叉链表方式存放,要求返回二叉树T的后序序列中的第一个结点的指针,是否可以不用递归且不用栈来完成?请说明原因。2具有n个结点的满二叉树的叶子结点的个数是多少?说明理由。3列出先序遍历能得到ABC序列的所有不同的二又树。4画出同时满足下列两个条件的两棵不同的二叉树:(1)按先序遍历二叉树顺序为ABCDE;(2)高度为5,其对应的树(森林)的高度最大为4。5对于表达式(a-b+c)*d(e+f)(1)画出它的中序二叉树,并标出该二叉树的前序线索;(2)给出它的前缀表达式和后缀表达式。6试找出分别满足下列条件的所有二叉树:(1)先序序列和中序序列相同;(2)中序序列和后序序列相同;(3)先序序列和后序序列相同。7. 阅读下列算法的描述,根据算法的要求,在相应的空格处写出正确合理的语句。后序遍历二叉树的非递归算法,bt是二叉树的根,S是一个栈,MaxSize是栈的最大容量。typedef struct Node BTNode *MaxSize+1; inttop; stacktyp;void PostOrder(BTNode *bt)BTNode*p, *q = bt;stacktypS;intflag;S.top = -1;dowhile(q != NULL)S.top+;if(S.top MaxSize)printf(Stack Full!);exit(0);else S.dataS.top = q;_;flag = 1; p = NULL;while(S.top != -1 & flag)q = S.dataS.top;if(_)printf(q-data);S.to-;p = q;else _;flag = 0;while(_);8. 具有n个结点的完全二又树,已经顺序存储在一维数组An中,下面算法是将A中顺序存储变成二叉链表存储的完全二又树。请在空缺处填入适当语句,以完成上述算法。Elemtype An;void CreatTree(BTNode *T, int i)_;T-data = Ai;if(_)CreatTree(_);elser-lchild = NULL;if(_)CreatTree(_);elser-rchild = NULL;void BTree(ar a, BTNOde *p)intj;j = _;CreatTree(p, j);9. 二叉树采用二叉链表存储结构,试设计算法计算一棵给定二叉树的各结点的子孙个数。10. 一棵具有n个结点的完全二叉树,以一维数组作为存储结构,试设计一个对该完全二叉树进行前序遍历的算法。11. 已知一棵二叉树的前序遍历序列和中序遍历序列,编写算法建立对应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论