20162304 2017-2018-1《程序设计与数据结构》课程总结
20162304 2017-2018-1《程序设计与数据结构》课程总结
每周作业链接汇总
- 第一周学习总结:数据的逻辑结构、增长函数和大O符号、算法上下限、如何比较增长函数、算法复杂度的概念
- 第二周学习总结:Java中泛型类的学习
- 第三周学习总结:查找与排序以及各自算法复杂度的分析
- 第五周学习总结:定义与集合相关的概念和术语、学习Java Collection API的基本结构、栈集合
- 第六周学习总结:队列的使用、分别用数组和链表实现队列、熟悉队列的操作:入队操作,出队操作等
- 第七周学习总结:树的定义及相关术语、树的遍历(先序遍历,中序遍历,后序遍历,层序遍历)、树的实现
- 第八周学习总结:二叉查找树的特性、二叉查找树的实现、平衡二叉查找树、二叉查找树的旋转
- 第九周学习总结:堆的定义、堆的实现、堆排序、先队列以及它与堆的关系。
- 第十周学习总结:有向图和无向图、带权图的学习、定义生成最小树、常用的图算法(遍历,测试连通性,最小生成树)
- 第十一周学习总结:定义哈希方法、哈希函数的学习、哈希表中的冲突问题、Java Collections API 实现。
自认为写得最好一篇博客是第十周学习总结
原因其实很简单,因为通过半个多学期的学习,我的总结学习等各方面能力都有一定程度的提升,所以我认为第十周学习总结这篇博客我写得还算可以。
作业中阅读量最高的一篇博客是第一周学习总结
也许是因为刚开学,大家都想先借鉴一下别人的博客,来完善自己的博客,亦或者是我博客中体现出的一些问题老师在为我指出的同时其他同学可以引以为鉴。
实验报告链接汇总
- ArrayList和LinkedList测试;
- 分别用Java的ArrayList和LinkedList实现有序线性表的合并;
- 参考Java Foundation 3rd 第15.6节,用数组实现线性表List;
- 参考Java Foundation 3rd 第15.7节,用链表实现线性表List;
- 源码分析
- 参考教材p375,完成链树LinkedBinaryTree的实现
- 中序先序序列构造二叉树
- 决策树的实现
- 表达式树的实现
- 二叉查找树的实现
- 对Java中的红黑树(TreeMap,HashMap)进行源码分析
- 完成教材P302 Searching.Java ,P305 Sorting.java中方法的测试
- 重构代码,把Sorting.java Searching.java放入cn.edu.besti.cs1623.(姓名首字母+四位学号)包中把,测试代码放test包中
- 在Searching中补充查找算法并测试
- 补充实现课上讲过的排序方法:希尔排序,堆排序,桶排序,二叉树排序等
- 编写Android程序对各种查找与排序算法进行测试
- 用邻接矩阵实现无向图
- 用十字链表实现无向图
- 实现PP19.9
- 编译运行测试
- 代码分析
- 代码修改
代码托管链接
-
statistic.sh的运行结果
-
代码量感觉达到预期的标准了。
-
读了编程的智慧,感觉自己做的还是不到位,编程时有的代码还没有做到足够精简,可读,有时候逻辑也会不太清晰,我会在接下来的学习中努力克服这些缺点。
-
关于积极主动敲代码,我个人认为在本学期做的还不错吧,就是希望以后我也能坚持下去。
-
教材实践上的经验,我想说的就是,代码一定要自己去敲,有问题就通过各种途径查找解决办法,只有自己亲自完成了这个项目才能对代码有一定的理解。
课堂项目实践
- 课堂实践对提高应用能力有帮助吗?
在课上完成一些代码的编写、实践,很考察我们对知识的理解程度,对我们提高应用能力有不错的帮助。 - 课堂实践上自己有什么经验教训?
这个嘛,感觉就是要上课认真听讲,不能开小差,要熟悉最近学习的内容,否则可能会出现“书到用时方恨少”的情况。 - 课堂实践上对老师有什么教学建议?
希望老师可以对课上需要事件的内容进行更为细节的讲解。
课程收获与不足
- 自己的收获
收获的有很多,首先是J本科目方面,通过学习,不仅在知识上的收获,学会了一项技能,还有就是一些做人的道理,比如说要多次检查自己的成果确保万无一失。还有就是通过学习本门课,让我变得更加严谨。
- 自己需要改进的地方
希望以后可以持之以恒,坚持下去。 - 结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
结对学习的话,个人感觉还是做的不错的,从我的结对伙伴那里学到了很多思路,考虑问题的方法,还有一些工具的使用,快捷键什么的。两个人一起思考解决方案,一起做项目,互相督促学习,挺不错的。
问卷调查
- 你平均每周投入到本课程有效学习时间有多少?
15小时左右吧。
- 每周的学习效率有提高吗?你是怎么衡量的?
有提高。通过自己动手编程能力的提高衡量出来的。
- 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
使用这个可以让我们的课堂变得高效,资源分享更便捷,考试比较有用,总体来说还是不错的吧
- 你觉得这门课老师应该继续做哪一件事情?
继续完善现在的教学模式。 - 你觉得这门课老师应该停止做哪一件事情?
额,这个,感觉没有吧。 - 你觉得这门课老师应该开始做什么新的事情?
就目前来看,我也想不到什么比较新的东西 - 你如何评价出门门票和做笔记的要求?
这个的确提高了我们听课的质量,可以有效考察我们的出勤率。
总结中涉及到的链接的二维码
- 第一周学习总结
- 第二周学习总结
- 第三周学习总结
- 实验一 线性结构 实验报告
- 第五周学习总结
- 第六周学习总结
- 第七周学习总结
- 实验二 树
- 第八周学习总结
- 第九周学习总结
- 第十周学习总结
- 实验三-查找与排序
- 第十一周学习总结
- 实验四-图的实现与应用
- 实验五