数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx

上传人:b****1 文档编号:13181473 上传时间:2022-10-07 格式:DOCX 页数:29 大小:175.62KB
下载 相关 举报
数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx_第1页
第1页 / 共29页
数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx_第2页
第2页 / 共29页
数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx_第3页
第3页 / 共29页
数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx_第4页
第4页 / 共29页
数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx

《数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。

数据结构第三版邓文华着习题参考答案Word文档下载推荐.docx

算法:

是对特定问题求解步骤的一种描述,是指令的有限序列。

1.4语句的时间复杂度为:

(1)Ο(n2)

(2)Ο(n2)

(3)Ο(n2)(4)Ο(n-1)

(5)Ο(n3)

1.5参考程序:

main()

{

int X,Y,Z;

scanf(“%d,%d,%d”,&

X,&

Y,Z);

if(X>

=Y)

if(X>

=Z)

if(Y>

{printf(“%d,%d,%d”,X,Y,Z);

}

else

{printf(“%d,%d,%d”,X,Z,Y);

}else

{printf(“%d,%d,%d”,Z,X,Y);

if(Z>

=X)if(Y>

{printf(“%d,%d,%d”,Y,Z,X);

{printf(“%d,%d,%d”,Z,Y,X);

{printf(“%d,%d,%d”,Y,X,Z);

1.6参考程序:

inti,n;

floatx,a[],p;

printf(“\nn=”);

scanf(“%f”,&

n);

printf(“\nx=”);

x);

for(i=0;

i<

=n;

i++)

scanf(“%f”,&

a[i]);

p=a[0];

for(i=1;

{p=p+a[i]*x;

x=x*x;

}printf(“%f”,p)’

习题2参考答案

2.1选择题

(1).C.

(2).B. (3).B. (4).B.5.D. 6.B. 7.B. 8.A. 9.A. 10.D.

2.2.填空题

(1).

有限序列

(2).

顺序存储和链式存储

(3).

O(n) O(n)

(4).

n-i+1 n-i

(5).

链式

(6).

数据 指针

(7).

前驱 后继

(8).

Ο

(1) Ο(n)

(9).

s->

next=p->

next;

p->

next=s;

(10). s->

next

2.3.解题思路:

将顺序表A中的元素输入数组a,若数组a中元素个数为n,将下标为0,1,2,…,(n-1)/2的元素依次与下标为n,n-1,…, (n-1)/2的元素交换,输出数组

a的元素。

参考程序如下:

floatt,a[];

printf(“\nn=”);

=n-1;

for(i=0;

=(n-1)/2;

{t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

}for(i=0;

printf(“%f”,a[i]);

2.4算法与程序:

n;

i++)if(a[i]>

a[0]

a[i]=a[0];

a[0]=t;

}printf(“%f”,a[0]);

for(i=2;

a[1]

a[i]=a[1];

a[1]=t;

2.5算法与程序:

inti,j,k,n;

floatx,t,a[];

printf(“\nx=”);

// 输入线性表中的元素

for(i=0;

i<

i++){ // 对线性表中的元素递增排序

k=i;

for(j=i+1;

j<

j++)if(a[j]<

a[k])k=j;

if(k<

>

j){t=a[i];

a[i]=a[k];

a[k]=t;

i++) // 在线性表中找到合适的位置

if(a[i]>

x) break;

for(k=n-1;

k>

=i;

i--) // 移动线性表中元素,然后插入元素xa[k+1]=a[k];

a[i]=x;

i++) // 依次输出线性表中的元素

2.6算法思路:

依次扫描A和B的元素,比较A、B当前的元素的值,将较小值的元素赋给C,如此直到一个线性表扫描完毕,最后将未扫描完顺序表中的余下部分赋给C即可。

C的容量要能够容纳A、B两个线性表相加的长度。

有序表的合并算法:

void merge(SeqList A, SeqList B, SeqList*C)

{ int i,j,k;

i=0;

j=0;

k=0;

while (i<

=A.last&

&

=B.last)if (A.data[i]<

=B.data[j])

C->

data[k++]=A.data[i++];

data[k++]=B.data[j++];

while (i<

=A.last)

data[k++]=A.data[i++];

while (j<

=B.last)

C->

last=k-1;

2.7算法思路:

依次将A中的元素和B的元素比较,将值相等的元素赋给C,如此直到线性表扫描完毕,线性表C就是所求递增有序线性表。

=A.last)while(j<

if (A.data[i]=B.data[j])

习题3参考答案

3.1.选择题

(1).D

(2).C (3).D(4).C(5).B (6).C(7).C(8).C(9).B(10).AB

(11).D(12).B(13).D(14).C(15).C(16).D(17).D(18).C(19).C(20).C

3.2.填空题

(1)FILO,FIFO

(2)-1,34X*+2Y*3/-

(3)stack.top,stack.s[stack.top]=x

(4)p>

llink->

rlink=p->

rlink,p->

rlink->

llink=p->

rlink

(5)(R-F+M)%M

(6)top1+1=top2

(7)F==R

(8)front==rear

(9)front==(rear+1)%n

(10)N-1

3.3答:

一般线性表使用数组来表示的

线性表一般有插入、删除、读取等对于任意元素的操作而栈只是一种特殊的线性表

栈只能在线性表的一端插入(称为入栈,push)或者读取栈顶元素或者称为“弹出、出栈”

(pop)。

3.4答:

相同点:

栈和队列都是特殊的线性表,只在端点处进行插入,删除操作。

不同点:

栈只在一端(栈顶)进行插入,删除操作;

队列在一端(top)删除,一端(rear)插入。

3.5答:

可能序列有14种:

ABCD;

ACBD;

ACDB;

ABDC;

ADCB;

BACD;

BADC;

BCAD;

BCDA;

BDCA;

CBAD;

CBDA;

CDBA;

DCBA。

3.6答:

不能得到4,3,5,6,1,2,最先出栈的是4,则按321的方式出,不可能得到

1在2前的序列,可以得到1,3,5,4,2,6,按如下方式进行push

(1),pop(),push

(2),push(3),pop(),push(4),push(5),pop(),pop(),pop(),push(6),pop()。

3.7答:

stack

3.8非递归:

intvonvert(intno,inta[]) //将十进制数转换为2进制存放在a[],并返回位数

intr;

SeStacks,*p;

P=&

s;

Init_stack(p);

while(no)

push(p,no%2);

no/=10;

r=0;

while(!

empty_stack(p))

pop(p,a+r);

r++;

returnr;

递归算法:

voidconvert(intno)

if(no/2>

0)

Convert(no/2);

Printf(“%d”,no%2);

elseprintf(“%d”,no);

3.9参考程序:

voidview(SeStacks)

SeStack*p;

//假设栈元素为字符型charc;

p=&

c=pop(p);

printf(“%c”,c);

printf(”\n”);

3.10答:

char

3.11参考程序:

voidout(linkqueueq)

inte;

while(q.rear!

=q.front)

dequeue(q,e);

print(e);

//打印

习题4参考答案

4.1选择题:

(1).A

(2).D (3).C (4).C (5).B (6).B (7).D(8).A (9).B (10).D

4.2填空题:

(1)串长相等且对应位置

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1