20172321 2018-2019-1 《程序设计与数据结构》实验三报告

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  阅读(257)  评论(0编辑  收藏  举报