(完整word版)数据结构-c语言描述(第二版)答案-耿国华-西安电子科技大学.doc 立即下载
2024-09-09
约1.1万字
约21页
0
505KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

(完整word版)数据结构-c语言描述(第二版)答案-耿国华-西安电子科技大学.doc

(完整word版)数据结构-c语言描述(第二版)答案-耿国华-西安电子科技大学.doc

预览

免费试读已结束,剩余 16 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(完整word版)数据结构_c语言描述(第二版)答案_耿国华_西安电子科技大学
(完整word版)数据结构_c语言描述(第二版)答案_耿国华_西安电子科技大学




(完整word版)数据结构_c语言描述(第二版)答案_耿国华_西安电子科技大学

第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;i<n;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试分别以不同的存储结构实现单线表的就地逆置算法,即在原表的存储空间将线性表(a1,a2,…,an)逆置为(an,an-1,…,a1)。
【解答】(1)用一维数组作为存储结构
voidinvert(SeqList*L,int*num)
{
intj;
ElemTypetmp;
for(j=0;j<=(*num-1)/2;j++)
{tmp=L[j];
L[j]=L[*num-j-1];
L[*num-j-
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

(完整word版)数据结构-c语言描述(第二版)答案-耿国华-西安电子科技大学

文档大小:505KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用