数据结构(C语言版)(第三版)(微课版)习题参考答案.doc

数据结构(C语言版)(第三版)(微课版)习题参考答案.doc

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

?PAGE294?

数据结构(C语言)微课版

?PAGE293?

附录习题参考答案

附录习题参考答案

第1章习题参考答案

一、选择题

1.C

2.C

3.B

4.A

5.D

6.D

7.C

8.C

9.B

10.C

二、填空题

1.线性结构非线性结构 2.顺序存储结构链式存储结构

3.联系图(或图结构) 4.集合、图

5.一对一一对多 6.数据元素关系

7.后继任意多个 8.操作对象关系

9.没有没有 10.逻辑结构存储结构

11.前驱1 12.顺序索引

三、判断题

1.×

2.√

3.×

4.×

四、简答题

1.因为x++共执行了n-1+n-2+……+1=n(n-1)/2,所以执行时间为O(n2)

2.O(log3n) 3.O(n2) 4.O(m*n)

第2章习题参考答案

一、选择题

1.D

2.B

3.B

4.B

5.B

6.B

7.D

8.B

9.C

10.B

11.C

12.C

13.B

14.D

15.C

16.B

17.B

18.C

19.A

20.C

21.D

22.A

23.A

24.C

二、填空题

1.首元素其直接前驱结点的链域的值 2.HL→next==NULL;HL==HL→next

3.有限、一对一 4.O(1)随机存取

5.表中一半表长和该元素在表中的位置 6.必定不一定

7.O(1)O(n) 8.前驱结点的地址O(n)

9.n-i+1n-i 10.s-left=pp-right

三、判断题

1.×

2.×

3.×

4.×

5.×

6.×

7.√

8.×

9.×

10.×

11.×

四、简答题

1.线性表为:(78,50,40,60,34,90)

2.(36,12,8,50,25,5,15)

3.解答:

尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear-next-next和rear,查找时间都是O(1)。

若用头指针来表示该链表,则查找终端结点的时间为O(n)。

五、编程题

1.解答:由于在单链表中只给出一个头指针,所以只能用遍历的方法来数单链表中的结点个数了。算法如下:

intListLength(LinkListL)

{intlen=0;

ListNode*p;

p=L;//设该表有头结点

while(p-next)

{p=p-next;

len++;

}

returnlen;

}

2.intsearchmin(linklistl)

{intmin;

int*p;

p=l;

min=p-data;

p=p-next;

while(p-next!=NULL)

{if(minp-data)min=p-data;

p=p-next;

}

returnmin;

}

3.intsearchmax(linklistl)

{intmax;

int*p;

p=l;

max=p-data;

p=p-next;

while(p-next!=NULL)

{if(maxp-data)max=p-data;

p=p-next;

}

returnmax;

}

4.顺序表:要将该表逆置,可以将表中的开始结点与终端结点互换,第二个结点与倒数第二个结点互换,如此反复,就可将整个表逆置了。

算法如下:

voidReverseList(Seqlist*L)

{DataTypetemp;//设置临时空间用于存放data

inti;

for(i=0;i=L-length/2;i++)//L-length/2为整除运算

{temp=L-data[i];//交换数据

L-data[i]=L-data[L-length-1-i];

L-data

您可能关注的文档

文档评论(0)

喜宝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档