20172304 《程序设计与数据结构》第四周学习总结
Posted 15248252144dzx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20172304 《程序设计与数据结构》第四周学习总结相关的知识,希望对你有一定的参考价值。
20172304 《程序设计与数据结构》第四周学习总结
教材学习内容总结
第六章主要介绍了列表,这个列表是一种概念上的笼统的定义。
列表包括链表和数组。
列表分为:有序列表,无序列表,索引列表。
有序列表 | 其元素按照元素的某种内在特性进行排序。 |
---|---|
无序列表 | 其元素件不具有内在顺序,元素按照他们在列表中的位置进行排序 |
索引列表 | 其元素可以用数字索引来引用 |
有序列表和无序列表在插入式有区别,有序列表需要做到插入之后还是有序的。而无序列表不是这样的。而索引列表虽然可以通过索引进行插入,删除操作,但是还是要保持连续。要做到索引之间是连续的。
java集合API中的列表
方法 | 描述 |
---|---|
add(E element) | 往列表的末端添加一个元素 |
add(int index,E element) | 在指定索引出插入一个元素 |
get(int index) | 返回指定索引处的元素 |
remove(int index) | 删除指定索引处的元素 |
remove(E object) | 删除指定对象的第一个出现 |
set(int index,E element) | 替代指定索引处的元素 |
size() | 返回列表中的元素数量 |
使用无序列表:学习计划
定义了三个类
Course:包含四个变量
教材学习中的问题和解决过程
- 问题1:有关环形数组的相关问题。
- 问题1解决方案:一开始真的很懵懂,环?怎么能把数组掰弯!变成一个环?后来经过长期的艰苦奋斗,终于理解了,这个环,在我的理解中并不是一个真正的环而是一个逻辑上的环,通过两个索引值进行标记确定首尾,尾索引可以借助“rear =(rear+1)%queue.length”这条语句在到达索引值上线时过渡到数组的首端,从而在真正的逻辑上形成一个真正环形数组。
代码调试中的问题和解决过程
问题1:在进行测试时发现无法引用变量。还有toString方法没有办法正常调用
- 问题1解决方案:后来发现是没有加运行函数。还有在toString的函数里没有将那个环形数组中开头的索引值随循环做自减运算。
问题2:发现一堆错误。
问题2解决方案:最终发现是自己实现的isEmpty方法有问题,后将if的判断语句由(head.getelement==null)改为(head==null)就OK了。
代码托管
错题总结
第三周&第四周错题
错题一:
错题一解答:
栈的pop操作返回的显然是一个元素而不是一个节点,这是当时马虎。
错题二:
错题二解答:后来在编码过程中实践了是正确的。
错题三:
错题三解答:后面已经说了不是引用的类型,但是我还是错选了C,应该选A对象的类型。
错题四:
错题四解答:集合中储存的对象只包含对象本身,并不会有其具体实现的细节。
错题五:
错题五解析:这是很明显得是,在单向列表中,其中常的打印方式必然是从头部开始的,对应实现的栈的出入栈操作也是在链表的头部,也就是前部实现的。
第五周
错题一:
错题一解析:这道题我记得一开始我也想选A来着,知识不知道后来莫名其妙的选择了B。
补充作业
技能 | 课前 | 课后 |
---|---|---|
Programming: Comprehension(程序理解) (如何理解已有的程序,通过阅读,分析,debug) | 4 | 7 |
Programming: Design (架构设计, 模块化设计,接口设计) | 2 | 6 |
Programming: Test (单元测试、代码覆盖率) | 2 | 4 |
Program: Performance (效能分析和改进) | 1 | 5 |
Programming: Code Review/Code Quality (代码复审/代码规范/代码质量) | 1 | 3 |
Programming: Command line and files (处理命令行参数和文件系统) | 1 | 4 |
Personal Software Process (个人软件过程) :个人源码管理(TFS/GitHub) | 3 | 7 |
博客互评
- 博客中值得学习的或问题:
20172301 郭恺同学本周的博客局以往来看略显逊色,内容不够饱满。不过对教材的知识深入的了解了。并且也吸收了学姐上周给他的评价,对教材上的知识总结进行了加深。
20172328 李馨雨同学 不亏为学习部的经营教材内容总结的详略得当,井井有条,对问题的理解和反省也十分到位,那一手环形数组的图片更是深深的折服了我。
点评过的同学博客和代码
其他(感悟、思考等,可选)
本周经过了紧张而充分的学习,学会了用链表实现队列用数组实现队列等。还接触到了存在于逻辑上的数组——“环形数组”。感觉自己从灵魂上的到了升华。路漫漫其修远兮,吾将上下而求索。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 30/30 | 1/1 | 10/10 | |
第二周 | 766/796 | 1/2 | 40/50 | |
第三周 | 817/1613 | 1/3 | 20/7 |
参考资料
1.蓝墨云班课
2.java软件结构与数据结构
---恢复内容结束---
以上是关于20172304 《程序设计与数据结构》第四周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
20172304 2017-2018-2《程序设计与数据结构》 第3周学习总结