zoukankan      html  css  js  c++  java
  • 实验七

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

    课程:《程序设计与数据结构》
    班级: 1823
    姓名: 姬旭
    学号: 20182334
    实验教师:王志强
    实验日期:2019年10月31日
    必修/选修: 必修

    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. 实验过程及结果

    实验七-查找与排序-1

    第一个实验主要是按照书上的代码,修改一下变成自己的代码,之后运行。
    在实验的过程中,我没有用Test文件根,而是自己创建了Test文件,之后运行,得到10个测试用例。

    实验七-查找与排序-2

    第二个实验相对于第一个实验来说没有变化,就是多了一条要在命令行输入再输出。新创建一个根目录,名字叫cn.edu.besti.cs1823.J2334,将测试文件和代码都放进去,分别用IDEA和命令行运行:


    实验七-查找与排序-3

    第三个实验有很多内容,关于查找分了有七种方法:








    得到的结果分别是:



    实验七-查找与排序-4

    第四个实验是要实现三种排序方法:希尔排序、堆排序 、二叉树排序。
    得到的结果分别是:





    实验七-查找与排序-5

    第五个实验是要用Android实现所有查找与排序的方法。
    得到的结果如下:

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

    • 问题1:在做查找时老师发了个网址,要求按照上面的查找方法用java全部实现,那么我看到斐波那契查找不太明白是什么意思,看了[Data Structure & Algorithm] 七大查找算法大致明白了他中间的内容,但是这里面是用c++实现的,用java实现又会出现很多问题。

    • 问题1解决方案:那么我找到了一篇我感觉会更好一点的博客,因为里面是由java实现的,所以感到很亲切: 斐波那契查找(黄金分割法查找)Java实现。

    所谓斐波那契查找,就是我们所熟悉的黄金分割,两数相比为0.618,这两数可以是较大的数和较小的数相比,也可以是整体和较大的数,对于斐波那契数列,就是从第三个数开始,前两个数相加等于后面的数,一直到最后;越往后,相邻的两数相比越接近0.618,所以称为斐波那契数列。

    • 问题2:在做堆排序时不明白怎么做。
    • 问题2解决方案:所以上网查找资料,发现一张动图很好的解释了堆排序:

      堆排序有大堆和小堆,这张图展示了小堆排序,就是大数在下,小数在上,最后再一个一个数输出,也就是从大到小排序。

    其他(感悟、思考等)

    实验的感觉总是那么令人难受,每次实验都是将近一周才能做完,让人无可奈何,也只能说明自己菜,越到学习后期,越感觉自己无能为力,学的东西变得疲软,虽然一直在输入,但输出总感觉很不理想,必须要抽空再来学习一遍,但时间不等人,目前只能尽自己的力量能学多少就学多少,为未来的自己减轻点压力,拜托了!

    参考资料

    • 《Java程序设计与数据结构教程(第二版)》
    • 《Java程序设计与数据结构教程(第二版)》学习指导
  • 相关阅读:
    Unknown column '××' in 'where clause',出现这个问题,如何处理?
    mysql 安装失败 start service执行不下去
    2019第十届蓝桥杯国赛总结
    Win10中小娜无法搜索本地应用
    计蒜客 青出于蓝胜于蓝(dfs序+树状数组)
    计蒜客 棋子等级
    蓝桥杯 国王的烦恼(并查集)
    keras+theano+tensorflow+darknet
    caffe with anaconda
    matconvnet编译
  • 原文地址:https://www.cnblogs.com/cistineup/p/11873402.html
Copyright © 2011-2022 走看看