20172311 2018-2019-1《程序设计与数据结构》课程总结
每周作业链接汇总
- 第一周作业
- 简要内容:
- 软件的质量与数据结构
- 算法复杂度分析及大O记法
- 简要内容:
- 第二周作业
- 简要内容:
- 集合概述
- 链式结构—栈
- 简要内容:
- 第三周作业
- 简要内容:
- 线性集合—队列
- 简要内容:
- 第四周作业
- 简要内容:
- 列表概述
- 用链表和数组实现列表
- 简要内容:
- 第五周作业
- 简要内容:
- 查找和排序算法实现
- 简要内容:
- 第六周作业
- 简要内容:
- 树的概念及实现
- 简要内容:
- 第七周作业
- 简要内容:
- 二叉查找树的概念及操作。
- 用链表实现二叉查找树。
- AVL树和红黑树的概念及实现。
- 简要内容:
- 第八周作业
- 简要内容:
- 优先队列和堆的概念
- 用数组和链表实现堆
- 堆的应用:堆排序和优先级队列。
- 简要内容:
- 第九周作业
- 简要内容:
- 图的概述。
- 图的操作方法的实现。
- 暑假App
- 对暑假实现的APP的介绍。
自认为写得最好一篇博客是?为什么?
自认为写得最好的一篇博客是 第六周作业
首先因为我对树这部分对的学习很感兴趣,所以在学习的过程中我比较用心,体现在博客上就是教材内容总结比较深入,而且参考内容比较多。然后就是这篇博客排版也很简洁齐整,是我最喜欢的一篇博客。
作业中阅读量最高的一篇博客是?谈谈经验
作业中阅读量最高的一篇博客是第一周作业
经验的话我觉得就是提高学习效率,能够尽量提前完成老师布置的作业,给大家提供一个参考,这样阅读量自然会增多
实验报告链接汇总
- 实验一
- 实验名称:线性结构之链表和数组
- 简要内容:
- 通过键盘输入一些整数,建立一个链表,打印所有链表元素, 并输出元素的总数。
- 实现节点插入、删除、输出操作,扩展功能,从磁盘读取一个文件,从链表中删除刚才的数字1. 并打印所有数字和元素的总数。
- 使用选择排序法根据数值大小对链表进行排序,在排序的每一个轮次中, 打印元素的总数,和目前链表的所有元素。
- 通过键盘输入一些整数,建立一个数组,打印所有数组元素, 并输出元素的总数;实现数组插入、删除、输出操作, 扩展功能,从磁盘读取一个文件,从链表中删除刚才的数字1. 并打印所有数字和元素的总数。
- 使用选择排序法根据数值大小对数组进行排序,在排序的每一个轮次中, 打印元素的总数,和目前数组的所有元素。
- 实验二
- 实验名称:树
- 简要内容:
- 实现二叉树
- 已知中序先序序列,构造二叉树
- 决策树
- 表达式树
- 二叉查找树
- 红黑树分析
- 实验三
- 实验名称:查找和排序
- 简要内容:
- 查找和排序的实现、测试以及android端的实现。
团队项目报告链接汇总(奔跑吧DKY)
-
团队博客:安卓游戏开发——团队作业第一周
这是团队第一次博客,主要介绍了团队以及项目的规划、并发布了需求规格说明书。 -
团队博客:团队作业——第二周
是对项目实现过程的记录,更新需求规格说明书、记录问题。以下7篇博客是对项目的冲刺实现,记录每天的任务、进度、遇到的问题、项目进展等等。
代码托管链接
说明本学期的代码量目标达到
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
首先加点代码,改点代码必须建立在对所学代码足够了解的基础之上,这就要求我们首先阅读并深入学习优秀代码,然后在充分理解的基础上尝试着去优化它,尽管大多数时候我们的“优化”往往是一种徒劳,但是在尝试的过程中我们无疑是在一点点的提高的,而且这个加改代码的过程是很有趣的,有助于我们在提高自己水平的同时保有对学习的热情。
积极主动敲代码做到没?教材实践上有什么经验教训?
- 个人觉得并没有做到积极主动敲代码,自己感兴趣的部分会很积极的去学习去敲代码,但是遇到不喜欢的部分就经常为了完成学习任务去敲代码。
- 教材实践给我的经验教训主要就是王老师说的那句:“尽信书则不如无书”,教材并不是完美的,也存在一些错误和不足之处,我们在学习的过程中,不能一味的照搬书上的观点,要有自己的见地,勇于并乐于对树中的一些观点提出自己的质疑,只有这样,我们的学习才能有深度,知识才能有提高。
课堂项目实践
- 时间复杂度分析
- ArrayStack的实现和测试
- 链表插入
- 链表实践
- 第四章代码检查
- LinkedStack补全
- 第五章代码检查-凯撒密码
- 杨辉三角
- 栈队列测试
- 第六章代码检查
- 线性表实践
- ASL测试
- 三种查找算法练习
- 哈希冲突处理实践
- 希尔排序测试
- 树计算题
- 树的深度和叶子个数计算
- 中序和先序计算二叉树结构
- 层次遍历法实践
- 堆构造与排序
- 堆排序测试
- 十一链表练习
- 最小生成树
- Dijkstra(迪杰斯特拉)算法测试
- AOE练习
- 哈夫曼编码测试
课堂实践对提高应用能力有帮助吗?
有很大的帮助,课堂实践一方面帮助我们对所学的知识进行及时的巩固,同时一定程度拓展了我们的知识。
课堂实践上自己有什么经验教训?
要仔细听老师的实践指导,対实践的要求以及方法充分了解,从而大大提高自己在实践过程中的效率。
课堂实践上对老师有什么教学建议?
建议的话就是可以在每次实践之前给大家发一个本次实践的大体目的和要求让同学们提前了解,给实践留出更多的时间。
课程收获与不足
自己的收获
- 阅读代码的能力有较大的提高
- 代码编写的能力有较大的提高
- Android Studio的使用有了较大提高
- 学习方法有较大的优化
自己需要改进的地方
- 在学习的系统性与持续性方面有待提高,首先是学习过程中缺乏宏观的认识,不能将前后所学知识联系起来,今后的学习中要努力及时总结;然后就是学习不够自律,想学的时候学,不想学的时候就不学,以后的学习中要加强自律。
结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
- 本学期的结对学习贯彻的不够彻底,体现在一起学习Java的时间并不多,但是在合作的过程中还是受益匪浅,一方面提高了学习的效率,拓宽了考虑问题的思路,另一当面也体会到了合作中合理分工的重要性。
问卷调查
你平均每周投入到本课程有效学习时间有多少?
15小时左右。
每周的学习效率有提高吗?你是怎么衡量的?
每周的学习效率总体上来说还算是逐渐提高的,主要是通过解决问题的相对时间来衡量的,即通过比较自己预测的时间和实际用时来衡量学习效率。
蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
蓝墨云班课的使用对你的学习有促进,清晰明了的任务清单增加了我学习的紧迫感和积极性。
你觉得这门课老师应该继续做哪一件事情?
保留写博客的优良传统。
你觉得这门课老师应该停止做哪一件事情?
我觉得每一章的知识测试要尽量在课堂上进行,尽量让测试公正一点吧。