大连理工大学数据结构 课后题答案13章Word格式.docx

上传人:b****6 文档编号:21057966 上传时间:2023-01-27 格式:DOCX 页数:13 大小:2.26MB
下载 相关 举报
大连理工大学数据结构 课后题答案13章Word格式.docx_第1页
第1页 / 共13页
大连理工大学数据结构 课后题答案13章Word格式.docx_第2页
第2页 / 共13页
大连理工大学数据结构 课后题答案13章Word格式.docx_第3页
第3页 / 共13页
大连理工大学数据结构 课后题答案13章Word格式.docx_第4页
第4页 / 共13页
大连理工大学数据结构 课后题答案13章Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

大连理工大学数据结构 课后题答案13章Word格式.docx

《大连理工大学数据结构 课后题答案13章Word格式.docx》由会员分享,可在线阅读,更多相关《大连理工大学数据结构 课后题答案13章Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

大连理工大学数据结构 课后题答案13章Word格式.docx

inti=1,k=100;

while(i<

n)

{

k++;

i+=2;

}

考虑赋值、运算操作执行的次数

第3行赋值2次

第6行赋值执行n次,加法执行n次

所以,总共2n+2次操作,算法复杂度为O(n)

1.4

y=y+i*j执行次数:

1.5

第二章

2.9

内存中一片连续空间(不妨假设地址从1到m)提供给两个栈S1和S2使用,怎样分配这部分存储空间,使得对任一个栈,仅当这部分空间全满时才发生上溢。

 答:

S1和S2共享内存中一片连续空间(地址1到m),可以将S1和S2的栈底设在两端,两栈顶向共享空间的中心延伸,仅当两栈顶指针相邻(两栈顶指针值之差的绝对值等于1)时,判断为栈满,当一个栈顶指针为0,另一个栈顶指针m+1时为两栈均空。

2.10

线性表是数据项组成的一种有限且有序的序列,各元素之间呈线性关系。

从逻辑结构来说,栈和队列与线性表相同,都是典型的线性结构。

与线性表不同的是,栈和队列的操作特殊,受到一定的限制,仅允许在线性表的一端或两端进行。

栈是限定仅在一端进行插入删除的线性表,无论插入、删除还是读取都在一端进行,按后进先出的原则。

队列的元素只能从一端插入,从另一端删除,按先进先出的原则进行数据的存取。

2.11

共有132种合法序列。

235641序列可以。

154623序列不可以。

对于每一个数来说,必须进栈一次、出栈一次。

我们把进栈设为状态‘1’,出栈设为状态‘0’。

n个数的所有状态对应n个1和n个0组成的2n位二进制数。

由于等待入栈的操作数按照1‥n的顺序排列、入栈的操作数b大于等于出栈的操作数a(a≤b),因此输出序列的总数目=由左而右扫描由n个1和n个0组成的2n位二进制数,1的累计数不小于0的累计数的方案种数。

在2n位二进制数中填入n个1的方案数为c(2n,n),不填1的其余n位自动填0。

从中减去不符合要求(由左而右扫描,0的累计数大于1的累计数)的方案数即为所求。

不符合要求的数的特征是由左而右扫描时,必然在某一奇数位2m+1位上首先出现m+1个0的累计数和m个1的累计数,此后的2(n-m)-1位上有n-m个1和n-m-1个0。

如若把后面这2(n-m)-1位上的0和1互换,使之成为n-m个0和n-m-1个1,结果得1个由n+1个0和n-1个1组成的2n位数,即一个不合要求的数对应于一个由n+1个0和n-1个1组成的排列。

反过来,任何一个由n+1个0和n-1个1组成的2n位二进制数,由于0的个数多2个,2n为偶数,故必在某一个奇数位上出现0的累计数超过1的累计数。

同样在后面部分0和1互换,使之成为由n个0和n个1组成的2n位数,即n+1个0和n-1个1组成的2n位数必对应一个不符合要求的数。

因而不合要求的2n位数与n+1个0,n-1个1组成的排列一一对应。

显然,不符合要求的方案数为c(2n,n+1)。

由此得出输出序列的总数目=c(2n,n)-c(2n,n+1)=1/(n+1)*c(2n,n)

2.16

next数组值:

0,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1,2

第三章

3.1

(1)n个结点可构造出多少种不同形态的二叉树?

解:

当n=1时,只有1个根节点,则只能组成1种形态的二叉树,令n个节点可组成的二叉树数量表示为f(n),则f

(1)=1;

当n=2时,1个根节点固定,还有n-1个节点,可以作为左子树,也可以作为右子树,即:

f

(2)=f(0)*f

(1)+f

(1)*f(0)=2,则能组成2种形态的二叉树。

这里f(0)表示空,所以只能算一种形态,即f(0)=1;

当n=3时,1个根节点固定,还有n-1=2个节点,可以在左子树或右子树,即:

f(3)=f(0)*f

(2)+f

(1)*f

(1)+f

(2)*f(0)=5,则能组成5种形态的二叉树。

以此类推,当n>

=2时,可组成的二叉树数量为f(n)=f(0)*f(n-1)+f

(1)*f(n-2)+...+f(n-1)*f(0)种。

即符合Catalan数的定义,可直接利用通项公式得出结果。

递归式:

  h(n)=h(n-1)*(4*n-2)/(n+1);

该递推关系的解为:

h(n)=C(2n,n)/(n+1)(n=1,2,3,...)

(2)若有3个数据1,2,3,输入它们构造出来的中序遍历结果都为1,2,3的不同二叉树有哪些?

有五种,如下:

3.2树深度为6,17个叶子结点,度为1的节点为0

 

3.3某二叉树有20个叶结点,有30个结点仅有一个孩子,求该二叉树的总结点数是多少?

设二叉树中度为0、1、2的结点数分别为n0、n1、n2。

由题可知:

n0=20,n1=30。

由性质:

任何一棵二叉树,度为0的结点比度为2的结点多一个,可知

n2=n0-1=20-1=19,即度为2的结点个数为19个。

因此总结点数n=n0+n1+n2=20+30+19=69个。

3.4

3.7在中序线索二叉树中如何查找给定结点的前序后继,后序后继

前序后继:

如果节点的ltag==0,那么后继是节点的左孩子,否则,如果ltag==1&

&

rtag==0,后继是右孩子,如果ltag==1&

rtag==1,那么找到节点的父节点p,如果该节点是p的左孩子,且p->

rtag==0,那么p的右孩子是节点的后继,如果p->

rtag==1,那么q=p->

rchild,q是节点p在中序时的后继,如果q->

rtag==0,q的右孩子是后继,否则q=q->

rchild,直到找到q->

rtag==0的节点或者q==null为止,q==null说明所求节点没有后继。

后序后继:

先根据中序全线索二叉树的性质找出p的父节点r:

1)如果r->

RightChild!

=p则对r的右子树进行后序遍历后访问的第一个节点就是p在后序序列中的后继;

如果没有右子树,p在后序遍历中的后继就是r

2)如果r->

RightChild==p则r就是p在后序序列中的后继。

3.9

(1)

(2)

3.10

3.11

解答:

高度为h的AVL树,最少节点数为:

当节点数为n时,根据上式可求得,数的最大高度为:

其中

最小高度为:

注:

以上最少节点数可以利用归纳法可以得到,如下规律:

当h=1,N

(1)=1

当h=2,N

(2)=2

当h=3,N(3)=4

当h=4,N(4)=7

当h=5,N(5)=12

……

归纳可以发现类似于斐波那契数列的规律:

其中h>

2。

利用特征根求数列的方法,可以求得结果。

3.12若关键字的输入序列为20,9,2,11,13,30,22,16,17,15,18,10。

(1)试从空树开始顺序输入各关键字建立平衡二叉树。

画出每次插入时二叉树的形态,若需要平衡化旋转则做旋转并注明旋转类型;

插入过程及旋转如图所示:

(2)计算该平衡二叉搜索树在等概率下的查找成功的平均查找长度;

12个结点在等概率查找的情况下,每个结点被查找的概率为

由上题所得最后的结果可知:

查找长度为0的结点个数为1,查找长度为1的结点个数为2,查找长度为2的结点个数为4,查找长度为3的结点个数为4,查找长度为4的结点个数为1。

因此:

查找成功的平均查找长度=

(3)基于上面的建树的结果,画出从树中删除22,删除2,删除10与9后树的形态和旋转类型。

删除后的结果和旋转如下:

3.13

3.15、假定用于通信的电文仅由8个字母A,B,C,D,E,F,G,H组成,各字母在电文中出现的频率分别为5,25,3,6,10,11,36,4。

试为这8个字母设计不等长Huffman编码,并给出该电文的总码数。

A:

0110B:

10C:

0000D:

0111E:

001F:

010G:

11H:

0001

对应字母的码数加和为4+2+4+4+3+3+2+4=26。

3.16

高度最小为2,n-1个叶结点,1个分支结点。

高度最大为n,1个叶结点,n-1个分支结点

3.17

3.18

先根序列:

ABCDEFGHIJKLMNPQRO

后根序列:

BDEFCAIJKHGMPRQNOL

层次序列:

ABCDRFGHIJKLMNOPQR

3.19

3.20

3.21

(1)孩子表示法:

(2)孩子—兄弟表示法:

(3)双亲表示法:

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

当前位置:首页 > 工程科技 > 电力水利

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

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