实验报告七

20182313 2019-2020-1 《数据结构与面向对象程序设计》实验七报告

课程:《程序设计与数据结构》
班级:1823
姓名:刘尧
学号:20182313
实验教师:王志强
实验日期:2019年11月1日
必修/选修:必修

1.实验内容

1.定义一个Searching和Sorting类,并在类中实现linearSearch,SelectionSort方法,最后完成测试。
要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位
提交运行结果图。

2.重构你的代码
把Sorting.java Searching.java放入 cn.edu.besti.cs1823.(姓名首字母+四位学号) 包中(例如:cn.edu.besti.cs1823.G2301)
把测试代码放test包中
重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种)

3.参考http://www.cnblogs.com/maybe2030/p/4715035.html ,学习各种查找算法并在Searching中补充查找算法并测试
提交运行结果截图

4.补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等(至少3个)
测试实现的算法(正常,异常,边界)
提交运行结果截图(如果编写多个排序算法,即使其中三个排序程序有瑕疵,也可以酌情得满分)

5.编写Android程序对实现各种查找与排序算法进行测试
提交运行结果截图
推送代码到码云(选做,加分)

2.实验过程及结果




3.实验过程中遇到的问题和解决过程

  • 问题一:在完成第二题时虚拟机出现问题,报出Give root password for maintenance (or type Control-D to continue):的错误,进不去主界面
  • 问题一解决过程:按照网上所教的利用fsck命令注释出错磁盘的方法操作后reboot,然而并没有用。。。最后只能重装虚拟机完成实验
  • 问题二:在完成实验四时对希尔排序理解不够深入,对于它和间隔排序法的区别认识也不够深刻。
  • 问题二解决过程:希尔排序就是将数字序列按照一定的间隔分成许多个子序列,在子序列中进行插入排序,然后在合并成一个数字序列;然后再去减小间隔长度,周而复始,最终等到间隔为1的时候就实现了有序;间隔排序做的是从最开始元素开始,对这些元素,把大的放在后面,一次排序后,间隔为该距离的元素构成的集合不一定有序。
    image

感悟

此次实验完成的一般,很多问题的出现不是因为当下知识学的不够好,而是因为之前知识遗忘的过快,就好像在第二个题目中要求在虚拟机内进行操作,许多vim的命令居然已经忘得一干二净,不得不再翻出来之前老师发布的教程重新学习了一遍,这次实验提醒我以后要常常温习之前学过的知识,打牢基础。

参考资料

posted on 2019-11-16 09:45  20182313-刘尧  阅读(211)  评论(0编辑  收藏  举报