20172328《程序设计与数据结构》实验三:查找与排序
- 课程:《软件结构与数据结构》
- 班级: 1723
- 姓名: 李馨雨
- 学号:20172328
- 实验教师:王志强老师
- 实验日期:2018年11月19日-2018年11月25日
必修选修: 必修
一、实验要求内容
- 实验1:
- 定义一个Searching和Sorting类,并在类中实现linearSearch(教材P162),SelectionSort方法(P169),最后完成测试。要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位
提交运行结果图。
- 实验2:
- 重构你的代码。把Sorting.java Searching.java放入cn.edu.besti.cs1723.(姓名首字母+四位学号)包中(例如:cn.edu.besti.cs1723.G2301)把测试代码放test包中,重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种)。
- 实验3:
- 参考http://www.cnblogs.com/maybe2030/p/4715035.html在Searching中补充查找算法并测试,提交运行结果截图。
- 实验4:
- 补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等(至少3个)测试实现的算法(正常,异常,边界),提交运行结果截图。
- 实验5:
- 编写Android程序对各种查找与排序算法进行测试,提交运行结果截图,推送代码到码云。
二、实验过程及结果
三、实验过程中遇到的问题和解决过程
- 问题:在做实验2的时候,要在linuxBash上使用命令行,但是自己已经忘记的差不多了;查了好些资料,勉强做的还算顺利,然后还是提示报错了,应该是在虚拟机上没有junit安装包的问题。


- 解决办法:因为时间紧迫,重新编写了一个main函数来测试两个类,但是符合题目要求,最终在命令行上运行成功。
- 问题:做希尔排序的时候思路有点不清楚,写了好几次都不太对。
- 解决及办法:看了一些博客,总结了一点心得就是:希尔排序就是将数字序列按照一定的间隔分成许多个子序列,在子序列中进行插入排序,然后在合并成一个数字序列;然后再去减小间隔长度,周而复始,最终等到间隔为1的时候就实现了有序。

其他(感悟、思考等)
??当遗忘太快,歇一歇奔跑的脚步,看看自己留下来了什么很重要!
??这次实验的很多内容让我觉得自己对以前的学习积累有些失望,因为遗忘的太快了,有些东西还是掌握的不深刻,还需努力才好。
四、参考资料
20172328《程序设计与数据结构》实验三:查找与排序
原文:https://www.cnblogs.com/LXY462283007/p/10060797.html