浙江大学城市学院实验报告 课程名称 数据结构与算法 实验项目名称 实验五 二叉搜索树的基本操作 学生姓名 专业班级 学号 实验成绩 指导老师(签名 ) 日期 1. 实验目的和要求 1.掌握二叉搜索树的基本概念。 2.掌握二叉搜索树基本操作的实现。 二. 实验内容 1. 设在一棵二叉搜索树的每个结点的data域中,含有关键字key域和统计相同关键字元素个数的count域。当向该树插入一个元素时,若树中已有相同关键字值的结点,则使该结点的count域值增1,否则由该元素值生成一个新结点插入到该树中,并使其count域置为1。当向该树删除一个元素时,若树中该元素结点的count域值大于1,则使该结点的count域值减1,否则(count域值等于1)删除该结点。请编写程序实现该二叉搜索树的下述基本操作: 1 初始化该二叉搜索树void InitBSTree(BTreeNode *&bst); 2 以广义
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
形式输出该二叉搜索树(每个结点输出内容包括关键字值与相同元素个数值)void PrintBSTree(BTreeNode *bst); 3 插入一个元素到该二叉搜索树(用非递归算法实现) void Insert (BTreeNode *&bst, ElemType item); 4 从二叉搜索树中删除某个元素(用非递归算法实现) int Delete (BTreeNode *&bst , ElemType item)。 5 求该二叉搜索树的最大关键字值(用非递归算法实现)ElemType MaxBSTree(BTreeNode *bst)。 把二叉搜索树的结构定义及基本操作实现函数存放在文件BSTree.h中。 2. 建立主程序文件test5.cpp,在主函数main()中通过调用BSTree.h中的函数进行测试。提示:可以在主函数中首先初始化二叉搜索树;然后从键盘输入数据,通过循环调用插入算法建立二叉搜索树;再以广义表形式输出该二叉搜索树;输出二叉搜索树中的最大结点值;最后调用删除算法删除某元素,并输出删除后的二叉搜索树。 3. 填写实验报告,实验报告文件取名为report5.doc。 4. 上传实验报告文件report5.doc与源程序文件BSTree.h及test5.cpp到Ftp服务器上你自己的文件夹下。 三. 函数的功能说明及算法思路 包括每个函数的功能说明,及一些重要函数的算法实现思路 四. 实验结果与分析 包括运行结果截图等 五. 心得体会 记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。 【附录----源程序】