实验八
(一)参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
1、用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
2、课下把代码推送到代码托管平台
(二)基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树
1、用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
2、课下把代码推送到代码托管平台
(三)自己设计并实现一颗决策树
1、提交测试代码运行截图,要全屏,包含自己的学号信息
2、课下把代码推送到代码托管平台
(四)输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
1、提交测试代码运行截图,要全屏,包含自己的学号信息
实验九:图的综合实践
(1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)
(2) 图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)
(3) 完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环
(4) 完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出
(5) 完成有向图的单源最短路径求解(迪杰斯特拉算法)
代码托管链接:
给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?
代码量达到了。
加点代码,改点代码是理解的***方式,参考编程的智慧,谈谈你的心得
在代码编写过程中,可能会为了某一报错头疼不已,但这时,***的方法就是耐住性子按步调试,错误可能出现在循环条件等小地方上,一定要勤于调试,调试出真理,心急写不出好代码。代码编写过程中,要保持思路的连贯性,即使中途有事要终端代码的编写,也要加上伪代码写明思路。编写伪代码是我的另外一个重要收获。
积极主动敲代码做到没?教材实践上有什么经验教训?
敲代码勤奋的不得了。在教材代码理解上有一定困难,课本代码使用的方法可能过于高端,所以代码还是按照自己的思路编写***,课本上的代码只可以作为参考而不能迷信。
课程收获与不足
这学期学习Java无疑是收获最大的一门课,学习了Linux,IDEA,Android,数据结构。从知识量的角度来说,无疑是充实的一门课,但我认为最主要的收获还是体现在自学能力上。
自己的收获(投入,效率,效果等)
投入了很多时间学习java,效率也有所提高,学习java,不仅学到有用的知识,还锻炼了学习能力。
自己需要改进的地方
自己对与每日或者每周的学习规律没有把握,希望以后可以改进。
结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
真正贯彻了,代码运行失败时同学指出错误;帮别人梳理代码思路等等。老师***了,没啥建议,要是有,就是继续保持现在的样子。