附件A :实验报告封面 华南农业大学信息学院 综合性、设计性实验 起止日期:2011 秋 学院 信息学院 专业班级 11 软件工程 3 班 学号 201130690325 姓名 徐远辉 实 验 题 目 实现平衡二叉排序树的各种算法 自 我 评 价 项 目 算法设计 独立完成情况 算法熟练程度 测试通过 成功 失败 独立 帮助 掌握 了解 不懂 插入新结点 √ √ √ √ 前序、中序、后序遍历二叉树(递归) √ √ √ √ 前序、中序、后序遍历的非递归算法 √ √ √ √ 层次遍历二叉树 √ √ √ √ 在二叉树中查找给定关键字 √ √ √ √ 交换各结点的左右子树 √ √ √ √ 求二叉树的深度 √ √ √ √ 叶子结点数 √ √ √ √ 删除某结点 √ √ √ √ A---------完成实验要求的全部功能并运行通过,算法有一定的新意,程序代码符合书写规范,实验报告叙述清晰完整,有详尽的分析和总结。 B---------完成实验要求的全部功能,程序代码符合书写规范,实验报告叙述 清晰完整。 C---------完成实验要求的大部分功能,实验报告良好。 D---------未按时完成实验,或者抄袭。 成绩 A 教师签名:杨秋妹 实验题目:实现平衡二叉排序树的各种算法 班级:11 级软件工程3 班 姓名:徐远辉 学号:201130690325 完成日期:2012-11-18 一、分析题目要求 答:题目主要是要编写一个程序,用函数实现如下平衡二叉排序树算法: (1) 插入新结点 (2) 前序、中序、后序遍历二叉树 (递归) (3) 前序、中序、后序遍历的非递归算法 (4) 层次遍历二叉树 (5) 在二叉树中查找给定关键字(函数返回值为成功 1,失败 0) (6) 交换各结点的左右子树 (7) 求二叉树的深度 (8) 叶子结点数 (9) 删除某结点 以下几点是在程序中的规定: 1) 各个函数命名,包含的参数,返回值类型 //要用到的结构体和 typedef 重命名类型 //平衡二叉排序树的结构 typedef struct Tnode { ElemType data; struct Tnode *lchild,*rchild; int height; //以该节点为根的子树的高度 }BBTnode,*BBTree; //栈定义 typedef struct { BBTree *base,*top; //栈指针成员 int initsize; //栈初始长度 }Stack; //队列定义 typedef struct { BBTree *front,*rear; //队列指针成员 int InitSize; //栈初始长度 }Queue; const int MAXSIZE = ...