实验七报告
学号20192308 2020-2021-1 《数据结构与面向对象程序设计》实验七报告
课程:《程序设计与数据结构》
班级: 1923
姓名: 王泽荣
学号:20192308
实验教师:王志强
实验日期:2020年11月21日
必修/选修: 必修
1.实验内容
定义一个Searching和Sorting类,并在类中实现linearSearch,SelectionSort方法,最后完成测试。
要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位
提交运行结果图。
重构你的代码
把Sorting.java Searching.java放入 cn.edu.besti.cs1823.(姓名首字母+四位学号) 包中(例如:cn.edu.besti.cs1823.G2301)
把测试代码放test包中
重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种)
参考http://www.cnblogs.com/maybe2030/p/4715035.html ,学习各种查找算法并在Searching中补充查找算法并测试
提交运行结果截图
补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等(至少3个)
测试实现的算法(正常,异常,边界)
提交运行结果截图(如果编写多个排序算法,即使其中三个排序程序有瑕疵,也可以酌情得满分)
编写Android程序对实现各种查找与排序算法进行测试
提交运行结果截图
推送代码到码云(选做,加分)
2. 实验过程及结果
第一部分是编写一个线性查找和选择排序并测试(测试没有使用junit)
截图如下
这个是代码截图
这个是测试截图
第二部分是把代码放入包中并测试
ide直接运行实现
命令行编译运行
第三部分是编写更多的查找排序
对分和插值查找
斐波那契查找
测试截图
第四部分编写希尔排序
代码截图
测试截图
3. 实验过程中遇到的问题和解决过程
- 问题1:使用命令行编译SearchTest主方法时,无法识别该程序中调用的Searching类
- 问题1解决方案:直接在根目录下用javac *.java编译所有文件
- 问题2:在idea中用命令行运行时出现问题(什么不是内部外部命令)
- 问题2解决方案:
- 1.修改环境变量
2.改变设置——终端中的shell路径
其他(感悟、思考等)
本次实验学习并实现了众多的排序及查找算法,其中让我感到困难的是二叉树的构建与查找。作为一种复杂的数据结构,我还需要更多的练习来熟悉掌握它,特别是左右子树的定义,与它其中普遍设计的递归思想。
很多问题的出现不是因为当下知识学的不够好,而是因为之前知识遗忘的过快,这次实验提醒我以后要常常温习之前学过的知识,打牢基础。![]