20172321 2018-2019-1 《程序设计与数据结构》实验三报告
- 课程:《程序设计与数据结构》
- 班级: 1723
- 姓名: 吴恒佚
- 学号:20172321
- 实验教师:王志强
- 实验日期:2018年11月19日
- 必修/选修: 必修
一、实验内容
实验三-查找与排序-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程序对各种查找与排序算法进行测试
- 提交运行结果截图
- 推送代码到码云
二、实验过程及结果
实验1
- 实验3_1的要求不是很麻烦,代码也是之前基本上都有了的,就是Junit好久没用过了,差不多勉勉强强还是可以写出来个大概。
- 测试正常,异常,边界,正序,逆序五种情况
结果
实验2
- 实验3_2是真的烦躁,要求我也不是很懂,放来放去的,不知道往哪里放,以前好像建立过专门的test包,我找到了当年的蓝墨云和当时的参考博客,然后一步一步做出来了。
- 在命令行上测试,好像不能用JUnit那个了,只有重写了个简单的测试方法,然后拉到虚拟机上去测试。
结果
实验3
- 过得太久了,我都有点忘了,我是用了直线查找
Searching
、折半查找binarySearch
、插值查找InsertionSearch
、斐波那契查找FibonacciSearch
、分块查找blockSearch
、哈希查找hashSearch
。
结果
实验4
- 用了
Sorting
、希尔排序shellsort
、二叉树排序binarytreeSort
、堆排序heapSort
、桶排序bucketSort
。
结果
三、实验过程中遇到的问题和解决过程
- 问题1:我本来以为Integer和Int差不多的,后来发现居然是不一样的,我不得不定义两个数组在测试类里,因为书上的代码是Integer型但是我写的是Int型。
- 解答:
- (1)Integer是int的包装类;int是基本数据类型;
- (2)Integer变量必须实例化后才能使用;int变量不需要;
- (3)Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值 ;
- (4)Integer的默认值是null;int的默认值是0。
四、感想
- 确实有些忘记了,总之是学习了许多算法,复习了很多的知识,很有帮助就是了。
五、参考资料
posted @
2018-12-08 22:56
N-idhogg
阅读(
259)
评论()
编辑
收藏
举报