数据结构课后习题答案(耿国华版.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、(1)×(2)×(3)√

3、(1)A(2)C(3)C

5、计算下列程序中x=x+1得语句频度for(i=1;i<=n;i++)

for(j=1;j〈=i;j++)

for(k=1;k〈=j;k++)

x=x+1;

【解答】x=x+1得语句频度为:

T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6

6、编写算法,求一元多项式pn(x)=a0+a1x+a2x2+……、+anxn得值pn(x0),并确定算法中每一语句得执行次数与整个算法得时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数.注意:本题中得输入为ai(i=0,1,…n)、x与n,输出为Pn(x0)。算法得输入与输出采用下列方法

(1)通过参数表中得参数显式传递

(2)通过全局变量隐式传递。讨论两种方法得优缺点,并在算法中以您认为较好得一种实现输入输出.

【解答】

(1)通过参数表中得参数显式传递

优点:当没有调用函数时,不占用内存,调用结束后形参被释放,实参维持,函数通用性强,移置性强。

缺点:形参须与实参对应,且返回值数量有限。

(2)通过全局变量隐式传递

优点:减少实参与形参得个数,从而减少内存空间以及传递数据时得时间消耗缺点:函数通用性降低,移植性差

算法如下:通过全局变量隐式传递参数PolyValue()

{inti,n;

floatx,a[],p;

printf(“\nn=”)

scanf(“%f”,n);

printf(“\nx=”);

scanf(“%f”,&x);

for(i=0;in;i++)

scanf(“%f,&a[i]);/*执行次数:n次*/

p=a[0];

for(i=1;i=n;i++)

{p=p+a[i]*x;/*执行次数:n次*/

x=x*x;}

printf(“%f”,p);}

算法得时间复杂度:T(n)=O(n)通过参数表中得参数显式传递

floatPolyValue(floata[],floatx,intn){

floatp,s;

inti;

p=x;

s=a[0];

for(i=1;i=n;i++)

{s=s+a[i]*p;/*执行次数:n次*/

p=p*x;}

return(p);}

算法得时间复杂度:T(n)=O(n)

第2章线性表

习题

1、填空:

(1)在顺序表中插入或删除一个元素,需要平均移动一半元素,具体移动得元素个数与插入

或删除得位置有关。

(2)线性表有顺序与链式两种存储结构.在顺序表中,线性表得长度在数组定义时就已经确

定,就是静态保存,在链式表中,整个链表由“头指针”来表示,单链表得长度就是动态保存。

(3)在顺序表中,逻辑上相邻得元素,其物理位置_一定_____相邻.在单链表中,逻辑上

相邻得元素,其物理位置不一定相邻。

(4)在带头结点得非空单链表中,头结点得存储位置由头指针指示,首元素结点得存储位

置由头结点指示,除首元素结点外,其它任一元素结点得存储位置由其直接前趋得next

域指示.

2、选择题

(1)A

(2)已知L就是无表头结点得单链表,且P结点既不就是首元素结点,也不就是尾元素结点。按要求从下列语句中选择合适得语句序列.

a、在P结点后插入S结点得语句序列就是:E、A。

b、在P结点前插入S结点得语句序列就是:H、L、I、E、A。

c、在表首插入S结点得语句序列就是:F、M。

d、在表尾插入S结点得语句序列就是:L、J、A、G。

供选择得语句有:

AP—next=S;

BP->next=P—〉next-next;CP->next=S—〉next;

DS—〉next=P-next;ES-next=L;

FS-next=NULL;GQ=P;

Hwhile(P-〉next!=Q)P=P-next;

Iwhile(P-next!=NULL)P=P—〉next;JP=Q;

KP=L;

LL=S;

ML=P;(3)D

(4)D

(5)D

(6)A

7试分别以不同

文档评论(0)

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

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

1亿VIP精品文档

相关文档