题目四D2H :设计一个学生信息管理系统,包括学生基本信息、成绩信息等。提供输 入、编辑、删除、查询的操作界面。数据库类型自选。1、问题分析。由题意得,这是一道数据库类型的题目,需要实现插入,修改,删除,查询四 个功能。确立数据的存储结构,实行二叉树进行存储数据,每个结点包含学生的姓名与 学生的成绩。通过二叉查找树进行插入、删除和查询工作。二叉查找树的特性是左子树关键字均小于根的关键字,而右子树的关键字均大 于根的关键字。因此加入某一关键字只要逐一比较,依据关键字的大小往右或 者往左,便可找到关键字插入的位置。二叉查找树的删除,当删除某一结点时,若删除的是叶结点,则直接删除,假 若删除的不是叶结点,则在左子树找到最大的结点或者在右子树找到最小的结 点,取代将被删除的结点。二叉查找树的查询,决定关键字 X 是否在二叉查找树中,首先 X 先与根去比较, 若 X 等于根表示找到,假如乂大于树根,则往右子树查找;否则,到左子树查 找。由于一个结点包含学生的姓名与成绩,题目要求要求编辑功能,学生的成绩具 有可变性,所以结点的关键字选取为学生的姓名。对二叉树的遍历,写入数据,实行先序遍历:先遍历树根,然后遍历左子树, 再遍历右子树。2、设计方案。根据问题分析,设计程序:1.构造函数,使根结点为空,加载函数,将数据文件 BinSearchTree.dat 加载到程序中;2.定义载入与保存方法,结点的名字初始为空,学生成绩为 0,由于 BinSearchTree. Dat 正常情况下能够使用,所以实行 JAVA 中对异常的处 理方法。使用 try-throw-catch 组合替代 if-else 语句。3.定义一个 search 方法,用来搜索某个结点,定义一个结点,当此结点不 为根结点时,假如目标结点小于此结点的关键字,向此结点的左子树搜 索,否则向右子树搜索。4.定义一个 search_re_r 方法,用来搜索右子树的替代结点,当替代结点 的不为空并且替代结点的左子树不为空时,使用替代结点的左子结点作 为替代结点。5.定义一个 search_re_ 1 方法,用来搜索左子树替代结点,当替代结点不 为空并且替代结点的右子树不为空时,使用替代结点的右子结点作为替 代结点,6.定义一个 search_p 方法,用来搜索父节点,当结点小于父节点,向左搜 索,直到搜索到位置,否则向右搜索。7.定义一个 preorder 方法,用来以先序法写入档案,实行递归方式,先遍 历树根,然后遍历左子树,再遍历右子树。8.定...