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