1.问题描述
二叉树的操作。
2.基本要求
定义实现以下二叉树操作的函数(要求用非递归方式)
⑴ 输入一棵完全二叉树,将该树保存一维数组 AT[N]中,AT[N]中存放的是
各结点的值,设计一个算法,从 AT[0]开始顺序读出各结点的值,建立该二叉树
的二叉链表表示,返回所建立的二叉链表表示的树的根结点的指针;
⑵ 根据二叉链表表示的树计算该二叉树中值最大的第 1 个结点的指针及
最大值;
⑶ 根据二叉链表表示的树,返回指定值的结点的父结点的指针,若没有,
返回 NULL;
⑷计算二叉树的高度;
(5)计算二叉树的宽度,即在二叉树各层上,具有结点数最多的那一层上的
结点数。
(6)根据二叉链表表示的树,交换二叉树中每个结点的两个子结点。
3.测试数据:由同学们自定
16.树的建立及其操作
1.问题描述
树的操作。
2.基本要求
⑴ 树的建立:以(结点编号,结点数据,父结点编号)的形式从键盘输入一棵 n
叉树(n≥3),根结点的父结点编号为-1,将树按双亲表示法存储在一位数组
中。
⑵ 树的输出:将所建立的按双亲表示法存储的树转换形成按孩子—兄弟链表法
的形式保存并输出。
⑶ 树的先序遍历:按先序遍历方式对树进行遍历,输出对应的遍历序列。
⑷ 树的后序遍历:按后序遍历方式对树进行遍历,输出对应的遍历序列。
⑸ 树的层次遍历:按层次遍历方式对树进行遍历,输出对应的遍历序列。
⑹ 树中结点度的统计:分别统计树中度为 0、1、2…的结点数目。
⑺ 设计一个菜单,上述操作要求都作为菜单中的主要菜单项。
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。