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

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

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

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

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

(1)可将孩子-兄弟链表划分为根、首子树、兄弟树,递归处理。 (2)可利用返回值,或全局变量。

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

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

19.设二叉树按二叉链表存放,写算法判别一棵二叉树是否是一棵正则二叉树。正则二叉树是指:在二叉树中不存在子树个数为1的结点。 [提示]:可利用任何递归、非递归遍历算法。

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

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

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

给定一棵二叉树的后序序列与中序序列,可唯一确定这棵二叉树; 23. 二叉树按照二叉链表方式存储,编写算法将二叉树左右子树进行交换。

实习题

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

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

[测试数据] ABCффDEфGффFффф(其中ф表示空格字符) 输出结果为: 先序:ABCDEGF 中序:CBEGDFA 后序:CGBFDBA

2.已知二叉树按照二叉链表方式存储,编写算法,要求实现二叉树的竖

向显示(竖向显示就是二叉树的按层显示)。 [提示]:

(1)参习题6.20,实现逐层遍历

(2)队中保存每个结点的打印位置,其左、右子的距离

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

图6.34

4.按凹入表形式打印树形结构,如图6.35所示。 [提示]:参P.129例,用先根遍历。

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

15.分别写出算法,实现在中序线索二叉树中查找给定结点*p在中序序列中的前驱与后继。(参例题)16.编写算法,对一棵以孩子-兄弟链表表示的树统计其叶子的个数。[提示]:(1)可将孩子-兄弟链表划分为根、首子树、兄弟树,递归处理。(2)可利用返回值,或全局变量。17.对以孩子-兄弟链表表示的树编写计算树的深度的算法。1
推荐度:
点击下载文档文档为doc格式
4ec7x9vmit5gf8w599fw
领取福利

微信扫码领取福利

微信扫码分享