2014年9月份考试数据结构第三次作业.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文档。上传文档
查看更多
2014年9月份考试数据结构第三次作业 一、填空题(本大题共10分,共 5 小题,每小题 2 分) 1. 数据结构包括数据的 ______ 和数据的 ______ 。 2. 在无头结点的单链表中,第1个结点的地址存放在头指针中,其他结点的存储地址存放在 ______ 结点的next域中。 3. 为了实现逐层访问,算法中使用了一个 ______ ,以记忆正在访问的这一层和上一层的顶点,以便于向下一层访问。 4. 在一个循环队列中,队首指针指向队首元素的 ______ 位置。 5. 弗洛伊德Floyd 算法的时间复杂度为 ______ 。 二、名词解释题(本大题共10分,共 2 小题,每小题 5 分) 1. 请解释名词“头指针” 2. 请解释名词“目标串” 三、程序阅读题(本大题共20分,共 2 小题,每小题 10 分) 1. 指出下述程序段的功能是什么? void Demo2( SeqStack *S, int m)     { // 设DataType 为int 型     SeqStack T; int i;      InitStack (T);      while (! StackEmpty( S))       if(( i=Pop(S)) !=m) Push( T,i);      while (! StackEmpty( T))       {       i=Pop(T); Push(S,i);      }    } 2. 下述算法的功能是什么? 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 四、简答题(本大题共20分,共 4 小题,每小题 5 分) 1. 如何判别循环队列的空和满? 2. 实际中,需根据不同的情况采用不同的哈希函数。通常,考虑的因素有那些? 3. 以关键字序列(265,301,751,129,937,863,742,694,076,438)为例,写出执行直接选择排序算法的各趟排序结束时,关键字序列的状态。 4. 在单链表、双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少? 五、程序设计题(本大题共40分,共 4 小题,每小题 10 分) 1. 编写算法,由依次输入的顶点数目、弧的数目、各顶点的信息和各条弧的信息建立有向图的邻接表。 2. 编写算法,在串的定长顺序存储结构上实现串的基本操作REPLACE(S,T,V) 3. 假设以结点大小为1(且附设头结点)的链表结构表示串。试编写实现下列6种串的基本操作StrAssign,StrCopy,StrCompare,StrLength,Concat和SubString的函数。 4. 设顺序表中关键字是递增有序的,试写一顺序查找算法,将哨兵设在表的高下标端。然后求出等概率情况下查找成功与失败时的ASL。 答案: 一、填空题(10分,共 5 题,每小题 2 分) 1. 参考答案: 逻辑结构,存储结构 解题方案: 评分标准: 每空2分 2. 参考答案: 前趋 解题方案: 评分标准: 每空2分 3. 参考答案: 队列 解题方案: 评分标准: 每空2分 4. 参考答案: 前一个 解题方案: 评分标准: 每空2分 5. 参考答案: O(n3) 解题方案: 评分标准: 每空2分 二、名词解释题(10分,共 2 题,每小题 5 分) 1. 参考答案: 头指针是一指向链表开始结点的指针(没有头结点时)。 解题方案: 评分标准: 2. 参考答案: 在串匹配运算过程中,将主串称为目标串。 解题方案: 评分标准: 三、程序阅读题(20分,共 2 题,每小题 10 分) 1. 参考答案: 程序段的功能是利用栈T,将一个非空栈S中值等于m的元素全部删去。 解题方案: 评分标准: 2. 参考答案: 答:该算法的功能是:将开始结点摘下链接到终端结点之后成为新的终端结点,而 原来的第二个结点成为新的开始结点,返回新链表的头指针。 解题方案: 答:该算法的功能是:将开始结点摘下链接到终端结点之后成为新的终端结点,而 原来的第二个结点成为新的开始结点,返回新链表的头指针。 评分标准: 5 四、简答题(20分,共 4 题,每小题 5 分) 1. 参考答案: 判别循环队列的空或满不能以头尾指针是否相等来确定,一般是通过以下几种方法:一是另设一布尔变量来区别队列的空和满。二是

文档评论(0)

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

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

1亿VIP精品文档

相关文档