数据构造(C语言版)第2版习习题答案—严蔚敏(简化版).doc

数据构造(C语言版)第2版习习题答案—严蔚敏(简化版).doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据构造(C语言版)第2版习习题答案—严蔚敏(简化版)

PAGE 10 PAGE 11 第2章 线性表 1.选择题 (1)顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )。 A.110 B.108 C.100 D.120 答案:B 解释:顺序表中的数据连续存储,所以第5个元素的地址为:100+2*4=108。 (3) 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动 的元素个数为( )。 A.8 B.63.5 C.63 D.7 答案:B 解释:平均要移动的元素个数为:n/2。 (4)链接存储的存储结构所占存储空间( )。 A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 B.只有一部分,存放结点值 C.只有一部分,存储表示结点间关系的指针 D.分两部分,一部分存放结点值,另一部分存放结点所占单元数 答案:A (5)线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续或不连续都可以 答案:D (6)线性表L在( )情况下适用于使用链式结构实现。 A.需经常修改L中的结点值 B.需不断对L进行删除插入 C.L中含有大量的结点 D.L中结点结构复杂 答案:B 解释:链表最大的优点在于插入和删除时不需要移动数据,直接修改指针即可。 (7)单链表的存储密度( )。 A.大于1 B.等于1 C.小于1 D.不能确定 答案:C 解释:存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存储空间之比,假设单链表一个结点本身所占的空间为D,指针域所占的空间为N,则存储密度为:D/(D+N),一定小于1。 (8)将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( )。 A.n B.2n-1 C.2n D.n-1 答案:A 解释:当第一个有序表中所有的元素都小于(或大于)第二个表中的元素,只需要用第二个表中的第一个元素依次与第一个表的元素比较,总计比较n次。 (9)在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( )个元素。 A.n-i B.n-i+1 C.n-i-1 D.I 答案:B (10) 线性表L=(a1,a2,……an),下列说法正确的是( )。 A.每个元素都有一个直接前驱和一个直接后继 B.线性表中至少有一个元素 C.表中诸元素的排列必须是由小到大或由大到小 D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。 答案:D (12) 以下说法错误的是( )。 A.求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低 B.顺序存储的线性表可以随机存取 C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活 D.线性表的链式存储结构优于顺序存储结构 答案:D 解释:链式存储结构和顺序存储结构各有优缺点,有不同的适用场合。 (13) 在单链表中,要将s所指结点插入到p所指结点之后,其语句应为( )。 A.s-next=p+1; p-next=s; B.(*p).next=s; (*s).next=(*p).next; C.s-next=p-next; p-next=s-next; D.s-next=p-next; p-next=s; 答案:D (14) 在双向链表存储结构中,删除p所指的结点时须修改指针( )。 A.p-next-prior=p-prior; p-prior-next=p-next; B.p-next=p-next-next; p-next-prior=p; C.p-prior-next=p; p-prior=p-prior-prior; D.p-prior=p-next-next; p-next=p-prior-prior; 答案:A (15) 在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是( )。 A.p-next=q; q-prior=p; p-next-prior=q; q-next=q; B.p-next=q; p-next-prior=q; q-prior=p; q-next=p-next; C.q-prior=p; q-next=p-next; p-next-prior=q; p-next=q; D.q-prior

您可能关注的文档

文档评论(0)

泰山之颠 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档