20172322 2017-2018-2《程序设计与数据结构》课程总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了20172322 2017-2018-2《程序设计与数据结构》课程总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6892字,纯文字阅读大概需要10分钟。
内容图文
20172322 2018-2019-1《程序设计与数据结构》课程总结
每周作业链接汇总
- 第一次作业:什么叫高质量软件;学习教材1、2章节。
- 第二次作业:学习教材3、4章节,栈相关知识的学习,利用数组和链实现栈。
- 第三次作业:学习教材第5章,队列相关知识的学习;完成技能调查表。
- 第四次作业:学习教材第6章,列表相关只是的学习,有序列表、无序列表、索引列表等。
- 第五次作业:学习教材第9章,选择与排序相关知识的学习。
- 第六次作业:学习教材第10章,树相关知识的学习。
- 第七次作业:学习教材第11章,二叉查找树相关知识的学习。
- 第八次作业:学习教材第12章,堆相关知识的学习。
- 第九次作业:学习教材第15章,图相关知识的学习。
自认为写得最好一篇博客是?为什么?
- 自认为写的最好的是:第七次作业,原因如下:
- 它是我本学期唯一一篇加分的博客。
- 是本学期首次对博客的字体进行修改,使得博客整体看来更为美观。
- 博客图文并茂,在重点的地方加粗或改变颜色,使得博客轻重分明。
作业中阅读量最高的一篇博客是?谈谈经验
本学期阅读量最高的是第一次作业
- 经验:
- 想要阅读量高,博客一定要交的早,这样后面的同学就可以向着看一下别人写的博客,这样阅读量就上去了。
实验报告链接汇总
团队项目报告链接汇总
代码托管链接:
给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?
- 代码量显然已经达到,甚至接近代码量目标的三倍。虽然在这14617行代码中,有效代码行数是9833行,这也接近目标的两倍。
- 虽说代码量这么多,但是由于这学期课程的原因,许多代码书上已经给出,需要自己实践的代码也就只有每周的PP项目和实验项目。
- 真正有用的代码我觉得跟上学期差不多,也就2000行左右甚至更少。经过接近一年的学习,自己对于各种方法的利用又有了一定的提升。
- 学无止境,或许IDEA的代码量会停留在这个值,但是我相信在之后的学习中我会更多的动手实践。
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
- 在编程的智慧中提到“反复推敲代码”与“写简单代码”,经过近一年的学习我体会更深了,很多时候对于一个简单的实现有非常多种方法,也有非常多种数据结构可以利用,但是什么样的代码是最简单的代码呢?或许就如书上所说的时间复杂度比较低的代码运算较快,但是很多时候时间复杂度的较低是用空间复杂度的牺牲换来的,所以仅仅注重运算效率可能并不是最简单的代码。在我们现在的阶段,我们所学的知识,所能用到的方法与我们的储存相比很小,但是对于一些大项目来说,空间也是一个必须考虑的因素。路漫漫其修远兮,我们还有非常长的路需要走。
- “加点代码,改点代码是理解的最好方式”这句话在上学期时我有些抵触,但是在在这学期我完全改变了自己的看法,当自己没有思路去实现一些东西时,查查别人的想法,借鉴别人的代码再加以修改真的可以让自己一下子豁然开朗,不足就学,不要担心,我们现在只是入门阶段的新人,有优秀的代码帮组理解,何乐而不为呢?
积极主动敲代码做到没?教材实践上有什么经验教训?
- 对于本学期来说,基本做到了积极主动敲代码,布置作业就会去完成,但是有的时候还是有些松懈,“积极”便被放在一边了。
- “书本是一位好老师”,虽然这学期教材上的代码存在许多错误,或许这就是作者故意的呢?那些错误都不大,认真看看就能修改完成,但是如果你不修改的话就一直提示错误。这也让我养成了每次敲入教材代码后校对一遍的习惯。
课堂项目实践
- 时间复杂度分析:计算时间复杂度,用大O记法进行表示。
- ArrayStack类的实现和测试:实现ArrayStack类中的peek、isEmpty、size和toString方法,并完成四个方法的测试。
- 链表插入:写出链表中节点插入的伪代码。
- 链表实践:通过键盘输入一些整数,建立一个链表;实现节点插入、删除、输出操作;使用冒泡排序法或者选择排序法根据数值大小对链表进行排序。
- 第4章代码检查:运行PP28,PP28的程序,根据个人学号输入后缀表达式并计算。
- LinkedStack补全:实现size、isEmpty和toString等方法并进行测试。
- 第5章代码检查:运行课本P72-P73凯撒密码程序。
- 杨辉三角(选做题):使用循环队列输出杨辉三角。
栈队列测试题:完成第六题的分析。
- 第6章代码检查:运行PP6.8和PP6.11的程序。
- 线性表实践:定义一个商品类Product,需要包括商品名称、价格等信息,使用链式存储结构实现一个线性表,存储商店中的商品,同时支持插入、删除、选择排序、查找等功能,并进行简单测试。
- ASL测试:已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,计算其ASL。
三种查找算法练习:画出三种算法的存储形式和并计算ASL。
- 哈希冲突处理实践:把自己的学号加21,例如学号为1,把22添加到序列{11,78,10,1,3,2,4,21}后面,使用链地址法,解决冲突,同时计算ASL,输出冲突次数。
希尔排序测试:当D2等于2时,写出第2趟排序结果。
- 树-计算题:计算下列三道题
- 1.有1023个结点的完全二叉树,其高度是多少?叶结点数是多少?
- 2.高度为h的完全二叉树至少有多少个结点?至多有多少个结点?
- 3.已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,…,nm个度为m的结点,问该树中有多少个叶结点?
树的深度和叶子个数计算:参考下面叶子节点计算的伪代码,计算课本中背部疼痛诊断器中决策树的叶子节点个数,并根据课堂介绍的递归树深度计算算法,计算决策树的深度。
课堂实践对提高应用能力有帮助吗?
- 课堂实践的内容都是一些比较简单的编程时间或者代码检查,对于知识的理解有帮助,对于应用能力的提高也有一定的作用。
课堂实践上自己有什么经验教训?
- 上课一定要认真听讲,特别是书上没有的知识,不认真听课上实践做起来有一些困难。
课堂实践上对老师有什么教学建议?
- 相较于上学期的课上实践,本学期的课上实践更加合理了,希望给学弟学妹们也以同样的方式教学。
课程收获与不足
自己的收获(投入,效率,效果等)
- 本学期对于这个课程来说投入的时间可能比上学期少了一些,但是效率我个人认为是提高了的,效果也是显著的,对数据结构的各种知识现在都有了一个清晰的认识。
自己需要改进的地方
- 遇到问题还是喜欢找理由,不习惯去直面问题。同时也有一些懒惰的心理。这都需要改进
结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
- 我觉得是的,真正贯彻了。
- 我们在日常的学习会互相给对方讲对方没有听懂的知识,也会对对方的一些代码提出建议,对于一些大型的任务也会分工合作,真的很棒。
问卷调查
你平均每周投入到本课程有效学习时间有多少?
- 大概在8个小时左右,14-16周最多,因为在团队项目编程,因为学期中和学期初相对较低。这是有效学习时间,实际所用的学习时间肯定比这个多很多。
每周的学习效率有提高吗?你是怎么衡量的?
- 有提高,特别是在学期末和任务多的时间,有一句话很有趣“百分之八十的工作都是由百分之二十的时间完成的”,时间越紧,效率越高。
蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
- 有促进作用,但这学期蓝墨云的课上实践和实验在开始没有打分,导致同学们对于自己的分数不清楚。
你觉得这门课老师应该继续做哪一件事情?
- 博客、课堂实践、编程演示、算法讲解
你觉得这门课老师应该停止做哪一件事情?
- 我想不到了,我觉得本学期做的事都比较合理。
你觉得这门课老师应该开始做什么新的事情?
- 提供更多的答疑机会。
其他
百词斩的单词
- 这学期基本上每天都背了单词,只漏了一天。
给出你的总结中涉及到的链接的二维码
内容总结
以上是互联网集市为您收集整理的20172322 2017-2018-2《程序设计与数据结构》课程总结全部内容,希望文章能够帮你解决20172322 2017-2018-2《程序设计与数据结构》课程总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。