数据结构(第3次).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构(第3次)

第3次作业 一、填空题(本大题共10分,共 5 小题,每小题 2 分) 1. 多重表文件和倒排文件都归属于 ______ 文件。 2. 数据结构被形式地定义为(D, R),其中D是 ______ 的有限集合,R是D上的 ______ 有限集合。 3. 在栈的出栈操作中,要先判断栈是否空,否则会产生 ______ 现象。 4. 在n个结点的单链表中要删除已知结点*p,需找到它的 ______ ,其时间复杂度为 ______ 。 5. 已知一个图的广度优先生成树如右图所示,则与此相应的广度优先遍历序列为 ______ 。 二、程序阅读题(本大题共40分,共 5 小题,每小题 8 分) 1. 求下列广义表运算的结果:head ((p,h,w))。 2. 指出下述程序段的功能是什么? SeqStack S1, S2, tmp;    DataType x;   ...//假设栈tmp和S2已做过初始化   while ( ! StackEmpty (S1))     {     x=Pop(S1) ;      Push(tmp,x);    }    while ( ! StackEmpty (tmp) )     {     x=Pop( tmp);      Push( S1,x);      Push( S2, x);    } 3. 写出下列程序段的输出结果(栈的元素类型SElem Type为char)。 void main( ){ Stack S; Char x,y; InitStack(S); X=’c’;y=’k’; Push(S,x); Push(S,’a’); Push(S,y); Pop(S,x); Push(S,’t’); Push(S,x); Pop(S,x); Push(S,’s’); while(!StackEmpty(S)){ Pop(S,y);printf(y); }; Printf(x); } 4. 下述算法的功能是什么? LinkList Demo(LinkList L){ // L 是无头结点单链表 ListNode *Q,*P; if(LL-next){ Q=L;L=L-next;P=L; while (P-next) P=P-next; P-next=Q; Q-next=NULL; } return L; }// Demo 5. 阅读下列C程序段,写出相应的执行结果 题目:long int fact(n) int n; {long f; if(n1)f=n*fact(n-1); else f=1; return(f); } main() {int n; long y; n=5; y=fact(n); printf(“%d,%ld\n”,n,y); } 三、简答题(本大题共20分,共 4 小题,每小题 5 分) 1. 链栈中为何不设置头结点? 2. 什么是程序的空间复杂度? 3. 以关键字序列(265,301,751,129,937,863,742,694,076,438)为例,写出执行快速排序算法的各趟排序结束时,关键字序列的状态。 4. 一棵度为2的有序树与一棵二叉树有何区别? 四、程序设计题(本大题共20分,共 2 小题,每小题 10 分) 1. 试按照带头结点的线性链表写一算法实现在线性链表L中查找给定元素的操作。 2. 写出求BFS生成树的算法。 五、名词解释题(本大题共10分,共 2 小题,每小题 5 分) 1. 请解释名词“开始结点” 2. 请解释名词“数据类型” 答案: 一、填空题(10分,共 5 题,每小题 2 分) 1. 参考答案: 多关键字 解题方案: 评分标准: 每空2分 2. 参考答案: 数据元素,关系 解题方案: 评分标准: 每空2分 3. 参考答案: 下溢 解题方案: 评分标准: 每空2分 4. 参考答案: 前驱结点的地址,O(n) 解题方案: 评分标准: 每空2分 5. 参考答案: Abefcdg 解题方案: 评分标准: 每空2分 二、程序阅读题(40分,共 5 题,每小题 8 分) 1. 参考答案: head ((p,h,w))=p。 解题方案: 评分标准: 2. 参考答案: 程序段的功能是利用tmp栈将一个非空栈s1的所有元素按原样复制到一个栈s2当中去。 解题方案: 评分标准: 3. 参考答案: 答:输出为“stack”。 解题方案: 答:输出为“stack”。 评分标准: 5 4. 参考答案: 答:该算法的功能是:将开始结点摘下链接到终端结点之后成为新的终端结点,而 原来的第二个结点成为新的开始结点,返回新链表的头指针。 解题方案: 答:该算法的功能是:将开始结点摘下链接到终端结点之后

文档评论(0)

jiulama + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档