好文档 - 专业文书写作范文服务资料分享网站

数据结构课后习题及解析第六章

天下 分享 时间: 加入收藏 我要投稿 点赞

.

第六章习题

1.试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

2.对题1所得各种形态的二叉树,分别写出前序、中序和后序遍历的序列。

3.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,nk个度为k的结点,则该树中有多少个叶子结点并证明之。

4.假设一棵二叉树的先序序列为EBADCFHGIKJ,中序序列为ABCDEFGHIJK,请画出该二叉树。

5.已知二叉树有50个叶子结点,则该二叉树的总结点数至少应有多少个?

6.给出满足下列条件的所有二叉树:

① 前序和后序相同

② 中序和后序相同

③ 前序和后序相同

7. n个结点的K叉树,若用具有k个child域的等长链结点存储树的一个结点,则空的Child域有多少个?

8.画出与下列已知序列对应的树T:

树的先根次序访问序列为GFKDAIEBCHJ;

树的后根次序访问序列为DIAEKFCJHBG。

精品

.

9.假设用于通讯的电文仅由8个字母组成,字母在电文中出现的频率分别为:

0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10

请为这8个字母设计哈夫曼编码。

10.已知二叉树采用二叉链表存放,要求返回二叉树T的后序序列中的第一个结点指针,是否可不用递归且不用栈来完成?请简述原因.

11. 画出和下列树对应的二叉树:

12.已知二叉树按照二叉链表方式存储,编写算法,计算二叉树中叶子结点的数目。

13.编写递归算法:对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。

14.分别写函数完成:在先序线索二叉树T中,查找给定结点*p在先序序列中的后继。在后序线索二叉树T中,查找给定结点*p在后序序列中的前驱。

15.分别写出算法,实现在中序线索二叉树中查找给定结点*p在中序序列中的前驱与后继。

16.编写算法,对一棵以孩子-兄弟链表表示的树统计其叶子的个数。

精品

.

17.对以孩子-兄弟链表表示的树编写计算树的深度的算法。

18.已知二叉树按照二叉链表方式存储,利用栈的基本操作写出后序遍历非递归的算法。

19.设二叉树按二叉链表存放,写算法判别一棵二叉树是否是一棵正则二叉树。正则二叉树是指:在二叉树中不存在子树个数为1的结点。

20.计算二叉树最大宽度的算法。二叉树的最大宽度是指:二叉树所有层中结点个数的最大值。

21.已知二叉树按照二叉链表方式存储,利用栈的基本操作写出先序遍历非递归形式的算法。

22. 证明:给定一棵二叉树的前序序列与中序序列,可唯一确定这棵二叉树;

给定一棵二叉树的后序序列与中序序列,可唯一确定这棵二叉树;

23. 二叉树按照二叉链表方式存储,编写算法,计算二叉树中叶子结点的数目。

24. 二叉树按照二叉链表方式存储,编写算法,将二叉树左右子树进行交换。

实习题

1. [问题描述] 建立一棵用二叉链表方式存储的二叉树,并对其进行遍历(先序、中序和后序),

打印输出遍历结果。

[基本要求] 从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行遍历(先序、中序、后序),然后将遍历结果打印输出。要求采用递归和非递归两种方法实现。

精品

.

[测试数据] ABCффDEфGффFффф(其中ф表示空格字符)

输出结果为: 先序:ABCDEGF

中序:CBEGDFA

后序:CGBFDBA

2.已知二叉树按照二叉链表方式存储,编写算法,要求实现二叉树的竖向显示(竖向显示就是二叉树的按层显示)。

3.如题1要求建立好二叉树,按凹入表形式打印二叉树结构,如下图所示。

2. 按凹入表形式打印树形结构,如下图所示。

精品

.

第六章答案

6. 1分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

【解答】

具有3个结点的树 具有3个结点的二叉树

6.3已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,nk个度为k的结点,则该树中有多少个叶子结点?

【解答】设树中结点总数为n,则n=n0 + n1 + …… + nk

树中分支数目为B,则B=n1 + 2n2 + 3n3 + …… + knk

因为除根结点外,每个结点均对应一个进入它的分支,所以有n= B + 1

即n0 + n1 + …… + nk = n1 + 2n2 + 3n3 + …… + knk + 1 由上式可得叶子结点数为:n0 = n2 + 2n3 + …… + (k-1)nk + 1

6.5已知二叉树有50个叶子结点,则该二叉树的总结点数至少应有多少个?

【解答】n0表示叶子结点数,n2表示度为2的结点数,则n0 = n2+1

精品

数据结构课后习题及解析第六章

.第六章习题1.试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。2.对题1所得各种形态的二叉树,分别写出前序、中序和后序遍历的序列。3.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,nk个度为k的结点,则该树中有多少个叶子结点并证明之。4.假设一棵二叉树的先序序列为EBADCFH
推荐度:
点击下载文档文档为doc格式
1ciyb39pnm7d82u9zjlx7yogl1itcy00ing
领取福利

微信扫码领取福利

微信扫码分享