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

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

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

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)定义一个 Searching 和 Sorting ,并在类中实现 linearSearch , SelectionSort 方法,最后完成测试。

  • (2)重构代码,把 Sorting.java Searching.java 放入 cn.edu.besti.cs1823.(姓名首字母+四位学号)
    IDEA:

    命令行:

  • (3)学习各种查找算法并在 Searching 中补充查找算法并测试

  • (4)补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等

  • (5)选做未做

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

  • 问题1:命令行 javac 编译提示 “ Note: Some input files use unchecked or unsafe operations. Recompile with Xlint:unchecked for details. ”

  • 问题1解决方案:Xlint 将提供有关 Java 语言规范要求的未经检查的转换警告的更多详细信息,出现原因可能有:(1)源代码中有未使用的import(2)源代码中有未加模板的Collection(s)(3)源代码中有未加serialVersionUID的serializable类。如果不想看见这些信息,可以在编译时使用-Xlint:none参数。

  • 问题2:Java 包的定义是什么

  • 问题2解决方案:包是 Java 中有效管理类的一个机制,不同 Java 源文件中可能出现名字相同的类,如果想区分这些类,就需要通过包这个概念。包名的目的是有效地区分名字相同的类,当 Java 中源文件中的两个类的名字相同时,它们可以通过隶属于不同的包来相互进行区分。
    包语句的定义:package + 空格 + 包名。包名可以是一个标识符,也可以是多个标识符通过 “.” 运算符连接,如 cn.edu.besti.cs1823,在文件夹中一个 “.” 运算符对应一个子目录层级,即 cn.edu.besti.cs1823 的相对路径为 cn/edu/besti/cs1823

  • 问题3:命令行怎么编译包里的 java 文件

  • 问题3解决方案:javac 编译时可直接跟包名,如javac -g -d bin cn.edu.besti.cs1823.test.java,也可跟路径,如javac -g -d bin cn/edu/besti/cs1823/test.java

其他(感悟、思考等)

查找与排序是最为基本的数据结构算法,一个程序执行能力的高低完全取决于是否采用了一个好的算法,在算法的学习与使用方面还要多加努力。

参考资料

posted @ 2019-11-16 10:27  Lolipop  阅读(133)  评论(0编辑  收藏  举报