20162317 2016-2017-2《程序设计与数据结构》课程总结
总目录
- 每周作业链接汇总
- 实验报告链接汇总
- 团队项目报告链接汇总
- 代码托管链接
- 课堂项目实践或课后作业
- 课堂的收获和不足
- 问卷调查
每周作业链接汇总
每周作业目录
- 第一周作业
- 第二周作业
- 第三周作业
- 第四周作业
- 第五周作业
- 第六周作业
- 第七周作业
- 第八周作业
- 第九周作业
- 第十周作业
- 第十一周作业
返回总目录
- 第一周作业
- 这一周我们主要学了:
- 算法复杂度的定义和计算
- 算法和效率的关系
- 算法的特点
- 时间复杂度和空间复杂度
- 这一周我们主要学了:
返回目录
- 第二周作业
- 这一周我们主要学了:
- 泛型的使用
- 小组对构建之法的总结
- 这一周我们主要学了:
返回目录
- 第三周作业
- 这一周我们主要学了:
- 查找的方法
- 不同查找方法的时间复杂度
- 排序的方法
- 不同排序方法的时间复杂度
- 这一周我们主要学了:
返回目录
- 第四周作业
- 这一周我们主要做的是实验一
返回目录
- 第五周作业
- 这一周我们主要学了:
- 集合
- 栈
- 数组实现栈
- 链表实现栈
- 这一周我们主要学了:
返回目录
- 第六周作业
- 这一周我们主要学了:
- 队列
- 数组实现队列
- 链表实现队列
- 这一周我们主要学了:
返回目录
- 第七周作业
- 这一周我们主要学了:
- 树
- 树的类型
- 数的实现
- 这一周我们主要学了:
返回目录
- 第八周作业
- 这一周我们主要学了:
- 二叉树
- 旋转
- 实验二
- 这一周我们主要学了:
返回目录
- 第九周作业
- 这一周我们主要学了:
- 堆的定义
- 堆的作用
- 堆的应用
- 堆的实现
- 这一周我们主要学了:
返回目录
- 第十周作业
- 这一周我们主要学了:
- 图的定义
- 图的类型
- 图的实现
- 这一周我们主要学了:
返回目录
- 第十一作业
- 这一周我们主要学了:
- 哈希算法的类型
- 冲突以及解决冲突
- 装载因子
- 这一周我们主要学了:
返回目录
- 自认为写得最好的一篇博客是?为什么?
- 答:我认为写得最好的一篇博客是第七周学习总结。原因在于在这一篇我对我的问题做了额外的练习,让我对这一章的知识点印象更为深刻。并且这一章的问题提得比较深刻,解决情况也比较好。
- 作业中阅读量最高的一篇博客是?谈谈经验
- 答:作业中阅读量最高的一篇博客是第三周学习总结。我认为这一篇博客之所以能够获得那么多的关注是因为这篇博客是我们开始学数据结构的基础:算法和算法复杂度。在内容上,我结合了课本、PPT以及网上的知识,并将知识体系表格给了出来,比较有参考价值,而且比较详尽,能够比较容易看懂,因此阅读量高。
实验报告链接汇总
实验报告目录
- 实验一
- 实验二
- 实验三
- 实验四
- 实验五
返回总目录
- 实验一
- 简要介绍:线性结构
返回目录
- 实验二
- 简要介绍:树
返回目录
- 实验三
- 简要介绍:查找和排序
返回目录
- 实验四
- 简要介绍:图的实现与应用
返回目录
- 实验五
- 简要介绍:数据结构的综合应用
返回目录
团队项目报告链接汇总
代码托管链接
> 本学期目标已达成
- 加点代码,改点代码是理解的最好方式,谈谈你的心得
- 对待一段代码,如果只是读懂,这并不是真正的理解。要试着加点代码,改点代码。加点代码,意味着运用原代码中提供的变量、方法、逻辑来尝试实现新的功能。当且仅当理解代码的人才能够敢加代码。改点代码也是,我们看的原代码也是人敲出来的,这些代码的排布可能不是最优化的。虽然这些代码已经实现了一些功能的实现,解决了需求,但不代表它是最优的。代码中可能存在着垃圾代码,垃圾变量,也可能逻辑不清,绕来绕去,又或者说是零零散散的,不够模块化。根据《编程的智慧》,我们的代码不应该只停留在实现功能上,我们要写出优雅的代码,流畅的代码,模块化的代码,可读的代码。若能够将看的代码优化且不影响原来的作用,这种就是真正地读懂代码。
- 积极主动敲代码做到没?教材实践上有什么经验教训?
- 自上个学期自知代码水平不高后,这学期自己便有一定的意识去主动敲代码。有时候一个知识点它可以有不同方面的拓展,这就需要自己积极主动地去设例子,用代码去尝试,因此这学期除了教材上的代码,为了学习知识,积极主动敲的代码也不少。个人感觉这样的学习方法进步很大,拓宽了自己在java中的视野,对某种方法或者是知识点的理解程度更深,记的程度也更深了。教材上的实践让我认识到了,教材中教的毕竟是有限。很多时候教材后的实践需要用到对应章节更深层次的用法,这时就需要我们去网上找该知识点的扩展用法或者是事例。同时,教材上的实践很多都是几个章节的知识点的联动,这时就需要我们对之前学的知识有很好的消化,会用联系的观点去看题目。
返回总目录
课堂项目实践或课后作业
- 算法复杂度
- 实践要求:用 Java语言实现下列算法并进行单元测试, 请给出算法的时间复杂度。
- 求一个整数二维数组Arr[N][N]的所有元素之和。
- 对于输入的任意 3 个整数, 将它们按从小到大的顺序输出。
- 对于输入的任意 n 个整数, 输出其中的最大和最小元素。
- 仿ArrayList
- 实践要求:使用Java代码来实现ArrayList中的几个功能:
- getCountSize():获取列表中存放元素的个数
- isEmpty():判断列表是否为空
- add(Object newEntry):往列表中添加元素
- remove(Object anEntry):移除列表中指定的元素
- clear():将列表清空
- getFrequencyOf(Object anEntry):获取数组中某元素的个数
- contains(Object anEntry):检验某元素是否包含在这列表中
- 实践要求:使用Java代码来实现ArrayList中的几个功能:
- 队列课下作业
- 实践要求:
- 用自己完成的队列(链队,循环数组队列)实现模拟票务柜台排队功能
- 用JDB或IDEA单步跟踪排队情况,画出队列变化图
- 实践要求:
- 使用队列实现杨辉三角
- 实践要求:
- 如题
- 实践要求:
- 对二叉树遍历操作的深入思考
- 实践要求:
- 已知某种遍历序列,试着确定唯一的一棵树
- 实践要求:
- 课堂实践对提高应用能力有帮助吗?
- 我认为非常有,当场的检验是最能考验一个人能力的有效方法。这样可以看出自己平时还有哪些还没完全熟悉,从而可以更好地提高自己的短缺方面。
- 课堂实践上对自己有什么经验教训?
- 平时能够做到的在现场检验不一定能够做到,总有一个方面自己还不是很熟悉,总有一个方面自己还有继续提升的空间。因此现场的检验要重视起来,通过课堂实践来更好地进行自我的提高和升值。
- 课堂实践上对老师有什么教学建议?
- 方法很好,请继续保持
返回总目录
课堂的收获和不足
问卷调查
时间: 2024-10-09 17:57:29