南京工业大学数据结构作业答案作业_第1页
南京工业大学数据结构作业答案作业_第2页
南京工业大学数据结构作业答案作业_第3页
南京工业大学数据结构作业答案作业_第4页
南京工业大学数据结构作业答案作业_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、第四次作业1.设如下图所示的二叉树B的存储结构为二叉链表,root为根指针,结点结构为:(lchild,data,rchild)其中Ichild,rchild分别为指向左右孩子的指针,data为字符型,root为根指针,试回答下列问题:.对下列二叉树巳执行下列算法traversal(root),试指出其输出结果;C的结点类型定义如下:structnodechardata;structnode*lchild,rchild;:C算法如下:voidtraversal(structnode*root)if(root)printf(u%cJJ-data);traversal(root-lchild);p

2、rintf(u%cv-data);traversal(root-rchild);traversal(root)的时间复杂度。BAF(2),假定二叉树B共有n个结点,试分析算法二叉树B2试写出如图所示的二叉树分别按先序、中序、后序遍历时得到的结点序列o3把如图所示的树转化成二叉4画出和下列二叉树相应的森林。5编写按层次顺序(同一层自左至右)遍历二叉树的算法点)。(或:按层次输出二叉树中所有结1 .设如下图所示的二叉树B的存储结构为二叉链表,(lchild,data5rchild )。其中Ichild, rchild分别为指向左右孩子的指针,root为根指针,结点结构为:data为字符型,root

3、为根指针,试回答下列问题:.对下列二叉树巳执行下列算法traversal(root),试指出其输出结果;C的结点类型定义如下:struct nodechar data;struct node * Ichild, rchild;;C算法如下:void traversal(struct node *root) if (root)printf( %c,r-data);traversal(root-lchild); printf(u %c” data);traversal(root-rchild);traversal(root)的时间复杂度。二叉树BFG解:这是“先根再左再根再右”,比前序遍历多打印各

4、结点一次,输出结果为:BADFFDGG特点:每个结点肯定都会被打印两次;但出现的顺序不同,其规律是:凡是有左子树的结点,必间隔左子树的全部结点后再重复出现;如A,B,D等结点。反之马上就会重复出现。女口C,E,F,G等结点。时间复杂度以访问结点的次数为主,精确值为2F,时间渐近度为。(n)2试写出如图所示的二叉树分别按先序、中序、后序遍历时得到的结点序列。答:DLR:ABDFJGKCEHILMLDR:BFJDGKACHELIMLRD:JFKGDBHLMIECA3 .把如图所示的树转化成二叉树。5.遍历二叉树的算法答:注意全部兄弟之间都要连线(包括度为2的兄弟),并注意原有连线结点一律归入左子树

5、,新添连线结点一律归入右子树。4 .画出和下列二叉树相应的森林。答:注意根右边的子树肯定是森林,而孩子结点的右子树均为兄弟。编写按层次顺序(同一层自左至右)(或:按层次输出二叉树中所有结点)0解:思路:既然要求从上到下,从左到右,则利用队列存放各子树结点的指针是个好办法。这是一个循环算法,用while语句不断循环,直到队空之后自然退出该函数。技巧之处:当根结点入队后,会自然使得左、右孩子结点入队,而左孩子出队时又会立即使得它的左右孩子结点入队,以此产生了按层次输出的效果。层序遍历二叉树的递归算法voidLayerOrder(BitreeT)层序遍历二叉树(InitQueue(Q);建立工作队列EnQueue(Q3T);while(!QueueEmpty(Q)(DeQueue(Q,p);visi

温馨提示

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

评论

0/150

提交评论