您的当前位置:首页正文

数据结构(c语言版)第五章答案

2024-05-04 来源:步旅网
真诚为您提供优质参考资料,若有不当之处,请指正。

第五章

1、设二维数组A【8】【10】是一个按行优先顺序存储在内存中的数组,已知A【0】【0】的起始存储位置为1000,每个数组元素占用4个存储单元,求: (1)A【4】【5】的起始存储位置。 A【4】【5】的起始存储位置为1000+(10*4+5)*4=1180; (2)起始存储位置为1184的数组元素的下标。

起始存储位置为1184的数组元素的下标为4(行下标)、6(列下标)。 2、画出下列广义表D=((c),(e),(a,(b,c,d)))的图形表示和它们的存储表示。 略,参考第5·2节应用题第5题分析与解答。

3、已知A为稀疏矩阵,试从时间和空间角度比较采用两种不同的存储结构(二维数组和三元组表)实现求a(i,j)运算的优缺点。

稀疏矩阵A采用二维数组存储时,需要n*n个存储单元,完成求aii(1≤i≤n)时,由于a【i】【i】随机存取,速度快。但采用三元组表时,若非零元素个数为t,需3t+3个存储单元(t个分量存各非零元素的行值、列值、元素值),同时还需要三个存储单元存储存稀疏矩阵A的行数、列数和非零元素个数,比二维数组节省存储单元;但在求aii(1≤i≤n)时,要扫描整个三元组表,以便找到行列值相等的非零元素求和,其时间性能比采用二维数组时差。

4、利用三元组存储任意稀疏数组时,在什么条件下才能节省存储空间?

当m行n列稀疏矩阵中非零元素个数为t,当满足关系3*tGetTail((a,(b,c),d))=((b,c),d) (3)GetHead(GetTail((a,(b,c),d)))

GetHead(GetTail((a,(b,c),d)))=(b,c) (4)GetTail(GetHead((a,(b,c),d))) GetTail(GetHead((a,(b,c),d)))=() 第六章

1、已知一棵树边的集合为{(i,m),(i,n),(e,i),(b,e),(b,d),(a,b),(g,j),(g,k),(c,g),(c,f),(h,l),(c,h),(a,c)}用树形表示法画出此树,并回答下列问题: (1)哪个是根结点? (2)哪些是叶结点? (3)哪个是g的双亲? (4)哪些是g的祖先? (5)哪些是g的孩子? (6)哪些是e的子孙?

(7)哪些是e的兄弟?哪些是f的兄弟? (8)结点b和n的层次号分别是什么? (9)树的深度是多少?

(10)以结点c为根的子树的深度是多少? (11)树的度数是多少? 略。

1 / 3

真诚为您提供优质参考资料,若有不当之处,请指正。

2、设一棵完全二叉树叶子结点数为k,试证明该二叉树的高度为log2k1。

证明略。

3、已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,……,nm个度为m的结点,问该树中有多少片叶子? 参见第6·2节应用题中的第一题。

4、已知某完全二叉树有100个结点,试求该二叉树的叶子树。 该二叉树的叶子树为50。

5、已知完全二叉树的第6层有5个叶子,试画出所有满足这一条件的完全二叉树,并指出结点最多的那棵树的叶子数目。

根据完全二叉树的定义,有两种情况:(1)第6层为最高层,且有5个叶子;(2)第7层为最高层,且第6层有5个叶子。

6、一个深度为L的满k叉树有如下性质,第L层上的结点都是叶子结点,其余各层上每个结点都有k棵非空子树。如果按层次顺序从1开始对全部结点编号,问: (1)第i层的结点数目是多少?

(2)编号为n的结点的双亲结点(若存在)的编号是多少?

(3)编号为n的结点的第i个孩子结点(若存在)的编号是多少?

(4)编号为n的结点有右兄弟的条件是什么?其右兄弟的编号是多少? 答案分别为

k

i1

,(n1)/k,k*(n1)i,n(n1)/k*k,n1

B 7、试找出分别满足下面条件的所有二叉树: (1)先序序列和中序序列相同。 (2)中序序列和后序序列相同。 (3)先序序列和后序序列相同。 略。

8、证明:一棵满k叉树上的叶结点数n0和非叶子结点数m之间满足下列关系: n0=(k-1)m+1

证明:总结点数n=n0+m,又n-1=km,所以n0=(k-1)m+1。

9、已知一棵二叉树的中序序列和后序序列分别为BDCEAFHG和DECBHGFA,画出这棵二叉树。并写出其先序遍历序列。 先序遍历序列为ABCDEFGH。

10、将图6·22所示的森林转换为二叉树。

L G A M N O C H

P R Q I E D J F K 图6·22 将森林转换为二叉树 参见第6·2节中的应用题中的第7题。

11、写出图6·22所示森林的前序序列和后序序列。

参见第6·2节中的应用题中的第7题。

2 / 3

真诚为您提供优质参考资料,若有不当之处,请指正。

12、给定一组数列(15,8,10,21,6,19,3)分别代表字符A,B,C,D,E,F,G出现的频度,试画出哈夫曼树,给出各字符的编码值。 参见第6·2节中的应用题的第10题。

3 / 3

因篇幅问题不能全部显示,请点此查看更多更全内容