数据结构C语言描述答案陈慧南主编.docx

上传人:b****3 文档编号:11518101 上传时间:2023-06-01 格式:DOCX 页数:11 大小:17.23KB
下载 相关 举报
数据结构C语言描述答案陈慧南主编.docx_第1页
第1页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第2页
第2页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第3页
第3页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第4页
第4页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第5页
第5页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第6页
第6页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第7页
第7页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第8页
第8页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第9页
第9页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第10页
第10页 / 共11页
数据结构C语言描述答案陈慧南主编.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据结构C语言描述答案陈慧南主编.docx

《数据结构C语言描述答案陈慧南主编.docx》由会员分享,可在线阅读,更多相关《数据结构C语言描述答案陈慧南主编.docx(11页珍藏版)》请在冰点文库上搜索。

数据结构C语言描述答案陈慧南主编.docx

数据结构C语言描述答案陈慧南主编

第一章绪论

1.(第14页,第(18)题)

肯定划线语句的执行次数,计算它们的渐近时刻复杂度。

(1)i=1;k=0;

do{

k=k+10*i;i++;

}while(i<=n-1)

划线语句的执行次数为n-1(n>=2),n=1时执行1次。

(2)i=1;x=0;

do{

x++;i=2*i;

}while(i

划线语句的执行次数为log2n。

(3)for(inti=1;i<=n;i++)

for(intj=1;j<=i;j++)

for(intk=1;k<=j;k++)

x++;

划线语句的执行次数为n(n+1)(n+2)/6。

(4)x=n;y=0;

while(x>=(y+1)*(y+1))y++;

划线语句的执行次数为n。

第二章两种基本的数据结构

2-4.

Loc(A[i][j][k])=134+(i*n*p+j*p+k)*2

2-9.第34页习题

(2).9

voidInvert(Telements[],intlength)

{

TOP1TOP2

栈满Top2-Top1==1

Top1<0栈1空Top2>n-1栈2空

9:

voidPrintQueue(Queueq)

{

intfirst=+1;

while(((first)%!

=

{

printf("%d\n",[first]);

first=first+1;

}

printf("%d\n",[first]);

}

voidPrintQueue2(Queueq)

{

for(inti=1;!

=;i++)

{

printf("%d\n",[+1)%]);

=+1)%;

}

}

voidPrintQueue3(Queueq)

{

for(;!

=;=+1)%

{

printf("%d\n",[+1)%]);

}

}

第四章线性表与数组

1(85页)

intSearch_Insert(List*lst,Tx)

{

inti,j;

j=lst->Size-1;

for(i=lst->Size-1;i>=0;i--)

{

if(lst->Elements[i]==x)

{

returni;

}

}

if(lst->Size==lst->MaxList)

{

return-1;

}

while(lst->Elements[j]>x)

{

lst->Elements[j+1]=lst->Elements[j];

j--;

}

lst->Elements[j+1]=x;

lst->Size++;

returnj+1;

}

voidSearch_Delete(List*lst,Tx,Ty)

{

inti=0;

if(lst->Size==0)

{

printf("thelistisempty,cannotbedeleted!

\n");

return;

}

for(intj=0;jSize;j++)

{

if((lst->Elements[j]Elements[j]>y))

{

lst->Elements[i]=lst->Elements[j];

i=i+1;

}

}

lst->Size=i;

}

13.(第86页,第13题)给出下列稀疏矩阵的

顺序三元组的行优先和列优先表示。

答:

14.(第86页,第14题)

对题图4-5的稀疏矩阵执行矩阵转置时数组num[]和k[]的值。

答:

第五章树

第2题,第141页,

对于三个结点A,B和C,可别离组成多少不同的无序树、有序树和二叉树?

答:

(1)无序树:

9棵

(2)有序树:

12棵

(3)二叉树:

30棵

第3题,P141

n0=n2+2*n3+….+(m-1)nm+1

第5题,P142

(1)或为空二叉树,或所有结点的左子树都是空的单支树

(2)或为空二叉树,或只有根结点的二叉树

(3)或为空二叉树,或所有结点的右子树都是空的单支树

第7题,第142页,

给出对图6-31中的树的先序遍历和后序遍历的结果。

答:

先序:

D,E,H,F,J,G,C,K,A,B

中序:

H,E,J,F,G,K,C,D,A,B

后序:

H,J,K,C,G,F,E,B,A,D

第6题第142页,

设对一棵二叉树进行中序遍历和后序遍历的结果别离为:

(1)中序遍历BDCEAFHG

(2)后序遍历DECBHGFA

画出该二叉树。

答:

第8(3)题第142页,

intcount=0;

voidSizeOfLeaf(BTNode*t)

{

if(t){

if((!

(t->RChild))&&(!

(t->LChild)))

{

count=count+1;

}

SizeOfLeaf(t->LChild);

SizeOfLeaf(t->RChild);

}

}

第13题第142页,

将图题6-32中的树转换成二叉树,

并将图6-31中的二叉树转换成丛林。

第18题第1438页,

设S={A,B,C,D,E,F},W={2,3,5,7,9,12},对字符集合进行哈夫曼编码,W为各字符的频率。

(1)画出哈夫曼树

(2)计算带权路径长度

编码:

A:

1010

B:

1011

C:

100

D:

00

E:

01

F:

11

第六章集合

第4题,P155

对半搜索算法要求其必需针对顺序存储的有序表。

顺序搜索从头搜到尾,所以不影响。

补充:

已知(1,2,3,4,5,6,7,8,9,10,11)找到9比较几回?

M=(1+11)/2=6比较一次

6<9,找[7,11]

M=(7+11)/2=9

9=9比较2次

成功

所以一共比较2次成功

第七章搜索树

1.第189页,第

(1),

成立37,45,91,25,14,76,56,65为输入时的二叉搜索树,再从该树上依此删除76,45,则树形别离如何?

第八章散列与跳表

第3题,第209页,

设散列表ht[11],散列函数h(key)=key%11。

采用线性探查法解决冲突,试用关键字值序

列:

70,25,80,35,60,45,50,55成立散列表。

线性探查法:

伪随机探查法:

P=13

012345678910

5545352570805060

对80:

(3+13)%11=5

对60:

(5+13)%11=7

二次探查法

012345678910

4535802570605055

对80:

(3+1*1)%11=4(3-1*1)%11=2

对35:

(2+1*1)%11=3(2-1*1)%11=1

对45:

(1+1*1)%11=2(12-1*1)%11=0

对55:

(0+1*1)%11=1(0-1*1)%11=10

第4题,第209页,

双散列法:

7025803560455055

H143325160

H2916

012345678910

5580352570604550

对80:

(3+1*9)%11=1

对45:

(1+1*1)%11=2(1+2*1)%11=3

(1+3*1)%11=4(1+4*1)%11=5

(1+5*1)%11=6

对50:

(6+1*6)%11=1(6+2*6)%11=7

第九章图

(1)题,第243页,

对下面的有向图求

(1)每一个极点的入度和出度;

(2)强连通分量

(3)邻接矩阵

(2)题,第243页,

当以边〈1,0〉,〈1,3〉,〈2,1〉,〈2,4〉,〈3,2〉,〈3,4〉,〈4,0〉,〈4,1〉,〈4,5〉,

〈5,0〉的顺序从只有6个极点没有边的图开始,通过依此插入这些边,成立邻接表结构。

画出该邻接表。

深度优先遍历:

0,1,3,4,5,2

宽度优先遍历:

0,1,3,4,2,5

第14题P244

(2)计算带权路径长度

P第

第11章

P11-2

直接插入排序:

初始序列(61)871203087097755326

第1趟(6187)1203087097755326

第2趟(126187)03087097755326

第3趟(03126187)087097755326

第4趟(0308126187)7097755326

第5趟(030812617087)97755326

第6趟(03081261708797)755326

第7趟(0308126170758797)5326

第8趟(030812536170758797)26

第9趟(03081226536170758797)

简单选择排序

初始序列(61871203087097755326

第1趟(03)871261087097755326

第2趟(0308)1261877097755326

第3趟(030812)61877097755326

第4趟(03081226)877097755361

第5趟(0308122653)7097758761

第6趟(030812265361)97758770

第7趟(03081226536170)758797

第8趟(0308122653617075)8797

第9趟(030812265361707587)97

冒泡排序

初始序列(61871203087097755326

第1趟61120308708775532697

第2趟12030861707553268797

第3趟03081261705326758797

第4趟03081261532670758797

第5趟03081253266170758797

第6趟03081226536170758797

第7趟03081226536170758797

快速排序:

初始序列61871203087097755326

第1趟53261203086197757087

第2趟08261203536197757087

第3趟03081226536197757087

第4趟03081226536197757087

第5趟03081226536187757097

第6趟03081226536170758797

第7趟03081226536170758797

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2