数据结构部分习题.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文档。上传文档
查看更多
数据结构部分习题

习题一? 1.试列举出实际生活中的一些数据,并指出其数据元素、数据项、数据元素之间的关系,并定义若干基本运算。 答:(略)? 2.求下列程序段的时间复杂度: ??? x=1; 2.有初始的无序序列{98,65,38,40,12,51,100,77,26,88},给出对其进行归并排序(升序)的每一趟的结果。 2.已知序列{15,18,60,41,6,32,83,75,95}。请给出采用冒泡排序法对该序列作升序排序时的每一趟的结果。 2.结果如下: 初始序列:15,18,60,41, 6,32,83,75,95 第一趟: 15,18,41, 6,32,60,75,83,95 第二趟: 15,18, 6,32,41,60,75,83,95 第三趟: 15, 6,18,32,41,60,75,83,95 第四趟: 6,15,18,32,41,60,75,83,95 第五趟: 6,15,18,32,41,60,75,83,95 ?? 第五趟排序时已无元素交换,则排序结束。 ⒋ 设散列函数H(K)=K%7,采用拉链法处理冲突,对下面输入序列,;要求:构造出该散列表,并求出在等概率情况下成功的平均查找长度。 输入序列:100,90,120,60,78,35,42,31,15,20,22,12,16,27 ⒌ 对数据表(25,50,70,100,43,7,12)采用直接插入排序算法进行排序,写出每趟的结果。?⒋ 散列表如下: 在等概率情况下成功的平均查找长度为(1*7+2*5+3*1+4*1)/14=24/14。 ⒌ 插入排序算法每趟的结果如下: [25], 50, 70, 100, 43, 7, 12 [25, 50], 70, 100, 43, 7, 12 [25, 50, 70], 100, 43, 7, 12 [25, 50, 70, 100], 43, 7, 12 [25, 43, 50, 70, 100], 7, 12 [7, 25, 43, 50, 70, 100], 12 [7, 12, 25, 43, 50, 70, 100]? ??? for (i=2;i=n;i++) ??? for (j=1;j=i;j++) x++; 答:时间复杂度为O(n2)。 习题二? 1.若某线性表中最常用的操作是在第i个元素之前插入一个元素和删除第i个元素,则采用____存储方式最节省运算时间。 ??? a.散列表 b.单链表 c.二叉链表 d.顺序表? 答:b? 2.判断:线性表采用链表存储后,线性表的长度等于链表中的结点个数。 答:×? 3.在单链表中,若要在指针P所指结点后插入指针S所指结点,则需执行下列两条语句:S-next=P-next;_________。???答:P-next=S; 4.单链表中指针P所指结点存在后继结点的条件是________。答:P-next!=NULL? 5.编写算法,判断带头结点的单循环链表L中从第三项起的各结点的值是否是其前面两项之差的绝对值。已知L的结点数不少于3,且各结点有data和next两个字段。 ??? 答:BOOL judge(node *L) { node *p, *q; q=L-next; p=q-next-next; ? while (p!=L p-data==abs (q-data-q-next-data)) { p=p-next; ?? q=q-next; ???????? } ???????? if (p==L) return TRUE; else return FALSE; ????? } 习题三 ? 1.设输入序列为A,B,C,D。借助一个栈可以得到的输出序列是____。 ??? a.A,C,D,B b.C,A,D,B c.D,C,A,B d.D,A,B,C 答:a ? ⒉ 栈和队列都是____。 a.顺序存储的线性表 b.链式存储的线性表 ??? c.限制存储点的线性表 d.限制存储点的非线性结构?? ? 答:c ?3.判断:栈只能采用链式存储方式。??? 答:× ?4 设有一个链栈,其中各结点中有data和next两字段 ,栈顶指针为Ls(≠NULL), 则执行退栈的基本操作是__________。??? 答:Ls= Ls-next; ?5、数组B[4,6]的元素占4个单元。从首地址1000开始将其

文档评论(0)

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

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

1亿VIP精品文档

相关文档