数据结构与算法课后习题解答.pdf

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

数据结构与算法课后习题解答

数据结构与算法课后习题解答

第一章绪论(参考答案)

1.3(1)O(n)

(2)(2)O(n)

(3)(3)O(n)

(4)(4)O(n1/2)

(5)(5)执行程序段的过程中,x,y值变化如下:

循环次数xy

0(初始)91100

192100

293100

。。

9100100

10101100

1191

12

2099

219198

。。

3010198

319197

到y=0时,要执行10*100次,可记为O(10*y)=O(n)

数据结构与算法课后习题解答

1.52100,(2/3)n,log2n,n1/2,n3/2,(3/2)n,nlog2n,2n,

n!,nn

第二章线性表(参考答案)

在以下习题解答中,假定使用如下类型定义:

(1)顺序存储结构:

#define*****1024

typedefintElemType;//实际上,ElemType

typedefstruct

{ElemTypedata[*****];

intlast;//last

}sequenlist;

(2

*next;

}linklist;

(3)链式存储结构(双链表)

typedefstructnode

{ElemTypedata;

structnode*prior,*next;

数据结构与算法课后习题解答

}dlinklist;

(4)静态链表

typedefstruct

{ElemTypedata;

intnext;

}node;

nodesa[*****];

2.1la,往往简称为链表“la”。

是副产品)

2.223

void

elenum个元素,且递增有序,本算法将x插入到向量A中,

并保持向量的

{inti=0,j;

while(ielenumA[i]=x)i++;//查找插入位置

for(j=elenum-1;jj--)A[j+1]=A[j];//向后移动元素

A[i]=x;//插入元素

数据结构与算法课后习题解答

}//算法结束24

voidrightrotate(ElemTypeA[],intn,k)

//以向量作存储结构,本算法将向量中的n个元素循环右

移k位,且只用一个辅助空间。

{intnum=0;//计数,最终应等于n

intstart=0;//记录开始位置(下标)

while(numn)

{temp=A[start];//暂存起点元素值,temp

empty=start;//保存空位置下标

next=(start-K+n)%n;//

while(next!=start)

{A[empty]=A[next];//

num++;1

//计算新右移元素的下标

//把一轮右移中最后一个元素放到合适位置

num++;

start++;//起点增1,若numn则开始下一轮右移。}

}//算法结束

数据结构与算法课后习题解答

算法二

算法思想:先将左面n-k个元素逆置,接着将右面k个元素

逆置,最后再将这n个元素逆置。

voidrightrotate(ElemTypeA[],int

文档评论(0)

领航教育 + 关注
实名认证
服务提供商

专注于中小学教案的个性定制:修改,审批等。本人已有2年教写相关工作经验,具有基本的教案定制,修改,审批等能力。可承接教案,读后感,检讨书,工作计划书等多方面的个性化服务。欢迎大家咨询^

1亿VIP精品文档

相关文档