20182306 2019-2020-1 《数据结构与面向对象程序设计》第七周学习总结
教材学习内容总结
- 时间复杂度:增加函数与大O符号。增加函数代表问题大小(n)与但愿优化的值之间的关系。该函数表示时间复杂度或空间复杂度。渐进复杂度称为算法的阶。记为O(n)
时间复杂度越低,程序运行效率越高。时间复杂度的计算可经过寻找运行次数最多的程序,计算他的运行次数,取n的最高次方的极数,即为程序的时间复杂度
前端
栈能够理解为一类数据的集合,栈中的元素能够写入,也能够读出。元素存在前后次序。先入栈的先被读出。栈可用数组,链表两种形式实现。
node
有push,pop,peek,isempty,size等经常使用操做
git
- 链式结构是基于数组的集合实现的主要代替方案,链表是一种链式结构,自引用式构成了链表的基础,在链表中存储的对象一般泛称为结点node
- 队列是一种线性集合,元素从一段加入从另外一端删除(先进先出)。
队尾(tail),队首(head),队列前端(front),队列末端(rear)。算法
教材学习中的问题和解决过程
- 问题1:Queue接口两种方法add和offer在异常类处理上有何不一样。
- 问题1解决方案:二者都是往队列尾部插入元素,不一样的时候,当超出队列界限的时候,add()方法是抛出异常让你处理,而offer()方法是直接返回false
- 问题2:链表和数组的优缺点?
- 问题2解决方案:数组比链表好在:能根据下标随机读取,链表要访问一个结点须要一个个摸过去;
链表比数组好在:链表比数组节省空间,并且在面对屡次循环,元素数量不肯定时,链表能比数组更方便地开空间。
代码调试中的问题和解决过程
- 问题1:在用数组实现栈时,但数组下标会随着插入,删除,排序而改变
- 问题1解决方案:固定节点将数值放到每一个节点盒子里,因此这样数组下标能够保持不变
- 问题2:用泛型定义的数组在实例化时出现问题。
- 问题2解决方案:泛型定义实例化的时候在T后加上[]

上周考试错题总结
无考试数组
结对及互评
评分标准
- 正确使用Markdown语法(加1分)
- 模板中的要素齐全(加1分)
教材学习中的问题和解决过程, 3个问题加3分数据结构
- 代码调试中的问题和解决过程, 2个问题加2分
- 本周有效代码超过300分行的(加2分)
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进状况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 错题学习深刻的加1分
- 点评认真,能指出博客和代码中的问题的加1分
结对学习状况真实可信的加1分函数
点评模板:
- 博客中值得学习的或问题:
- 代码中值得学习的或问题:
- 代码增加量多,说明结对的同窗这周很努力的在学习Java,我也要努力学习Java了
- 仓库有点混乱
- 参考示例
点评过的同窗博客和代码
其余(感悟、思考等,可选)
学习内容愈来愈多,任务量也是愈来愈大,而后好多知识都要自学,有点跟不上节奏了学习
学习进度条
目标 |
5000行 |
30篇 |
400小时 |
第一周 |
200/200 |
2/2 |
20/20 |
第二周 |
300/500 |
2/4 |
18/38 |
第三周 |
500/1000 |
3/7 |
22/60 |
第四周 |
300/1300 |
2/9 |
30/90 |
第五周 |
1526/2986 |
2/9 |
20/115 |
第六周 |
837/3823 |
2/11 |
20/135 |
第七周 |
1639/5462 |
2/13 |
20/155 |
计划学习时间:20小时优化
实际学习时间:20小时
参考资料