20172330 2017-2018-1 《Java程序设计》第十周学习总结
20172330 2017-2018-1 《程序设计与数据结构》第十周学习总结
教材学习内容总结
本周的学习内容为集合
集合
- 对象具有定义良好的接口,从而成为一种实现集合的完善体制。
- 动态数据结构的大小规模随需要增长和收缩。
- 通过引用和保存对象引用来实现一个链表的管理。
- 通过自习操作对象引用,可以实现插入和删除操作。
- 动态链表有许多不同的实现。
- 队列是一种以先进先出方式管理数据的线性数据结构。
- 堆栈是一种以后进后出的方式管理数据的线性数据结构。
- 树是一种以层次结构组织数据的非线性数据结构。
- 图是非线性数据结构,使用常见的边来连接节点。
- Java集合类API定义了几种以不同方式实现的集合类。
- Java集合类API中定义的类为泛型。
- 泛型保证了集合中对象类型的兼容性。
教材学习中的问题和解决过程
- 问题1:
数据结构之线性结构与非线性结构的区别、分类 - 问题1解决方案:
线性结构有唯一的首元素(第一个元素)
线性结构有唯一的尾元素(最后一个元素)
除首元素外,所有的元素都有唯一的“前驱”
除尾元素外,所有的元素都有唯一的“后继”
数据元素之间存在“一对一”的关系
例如:数组A1,A2,A3,........An,首元素就是A1,尾元素就是An
什么结构属于线性结构呢?
顺序表(一维数组),堆,栈,队列,链表
那非线性结构是什么呢?
数据元素之间是一对多,或者是多对一的关系
非线性结构有什么呢?
图(群结构),树(层次结构),多维数组

代码托管


上周考试错题总结
问题1:Why is the following method one which has infinite recursion?
public int infiniteRecursion(int n)
{
if (n > 0) return infiniteRecursion(n) + 1;
else return 0;
}
A Because there is no base case
B Because the base case will never be true
C Because the recursive call does not move the parameter closer to the base case
D Because the recursive call moves the problem further away from the base case
E None of the above, there is no infinite recursion in this method
分析:如果输入大于零的数,那么将不会进入else语句,也就说一直在大于零的情况下进行递归的循环问题2:A recursive algorithm is superior to an iterative algorithm along which of the following criteria?
A The recursive algorithm is easier to debug
B The recursive algorithm is computationally more efficient
C The recursive algorithm is more elegant
D The recursive algorithm requires less memory to execute
E all of the above
分析:当时我理解的应该是a递归算法更易于调试,但是答案给的是c。问题3:The difference between direct and indirect recursion is
A direct recursion occurs when a method invokes itself; indirect recursion occurs when there is an intervening method
B indirect recursion occurs when a method invokes itself; direct recursion occurs when there is an intervening method
C direct recursion only occurs with methods declared to be private; indirect recursion can occur with methods declared to be private, protected, or public
D indirect recursion only occurs with methods declared to be private; direct recursion can occur with methods declared to be private, protected, or public
E none of the above
分析:A选项的意思是:当一个方法调用自己时,就会发生直接递归;间接递归发生在有干预方法的时候。直接递归意味着一个方法直接调用自己,而不使用中间方法。当在原始方法再次被调用之前有一个或多个中间方法时,就会发生间接递归。问题4:The following method correctly multiplies two ints so long as both are non-negative:
public int mpy(int a, int b)
{
return (b > 0) ? a + mpy(a, b-1) : 0;
}
A true
B false
分析:乘法只是重复加法,所以重复的加a,b倍,就是两个数的乘积。
结对及互评
点评模板:
- 博客中值得学习的或问题:
- 严域俊同学在进行异常和错误的区别时进行了详细的描述并配了图
- 同时在根据自己代码中出现的问题又一次进行了查询和解答。
- 代码中值得学习的或问题:
- 这周初终于完成了四则运算,并且成功运行。
- commit依旧很详细,有条理性。
点评过的同学博客和代码
- 本周结对学习情况
- 20172333
- 结对学习内容
- 学习第十三章pp项目。
- 学习集合的具体内容
- 对四则运算的收尾。
其他(感悟、思考等,可选)
终于这本书学习完了,nice啊。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 180/180 | 2/2 | 20/25 | |
| 第二周 | 312/414 | 2/4 | 20/45 | |
| 第三周 | 557/971 | 1/5 | 25/70 | |
| 第四周 | 1217/2242 | 2/7 | 44/114 | |
| 第五周 | 734/2976 | 1/8 | 24/138 | |
| 第六周 | 523/3509 | 1/9 | 20/158 | |
| 第七周 | 697/4206 | 1/10 | 24/182 | |
| 第八周 | 1118/5324 | 3/13 | 30/212 | |
| 第九周 | 656/5980 | 2/15 | 20/232 | |
| 第十周 | 909/6889 | 1/16 | 20/252 |
计划学习时间:20小时
实际学习时间:20小时
改进情况:
这周对于课后练习做的没有那么吃力,但还是存在一些对于类的编写的问题,希望继续加油。
参考资料
20172330 2017-2018-1 《Java程序设计》第十周学习总结的更多相关文章
- 201521123027 <java程序设计>第十周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 异常: 多线程: 2.书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...
- Java程序设计第十周学习总结
Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20172325 2018-2019-2 《Java程序设计》第九周学习总结
20172325 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 图的定义 图是由顶点集(VertexSet)和边集(EdgeSet)组成,针对图G,顶点集和 ...
- 20155334 2016-2017-2 《Java程序设计》第九周学习总结
20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...
随机推荐
- Angular4 自制分页控件
过年后第一波,自制的分页控件,可能功能没有 PrimeNG 那么好,但是基本可以实现自定义翻页功能,包括:首页/最后一页/上一页/下一页. 用户可以自定义: 1. 当前默认页码(如未提供,默认为第一页 ...
- python django web 端文件上传
利用Django实现文件上传并且保存到指定路径下,其实并不困难,完全不需要用到django的forms,也不需要django的models,就可以实现,下面开始实现. 第一步:在模板文件中,创建一个f ...
- macOS安装MongoDB
先在macOS里安装一个很好的插件 1.百度搜索homebrew 或 直接进入https://brew.sh 2.复制网页下面的命令符 /usr/bin/ruby -e "$(curl -f ...
- scala爬取指定地点的所有列车班次
需求介绍: 爬取指定地点的所有全国相关的列车班次详情.将结果写进mysql. 步骤及所遇到的问题: 1.寻取全国站点静态信息 https://kyfw.12306.cn/otn/resources ...
- python学习笔记:第10天 函数进阶和作用域
目录 1. 函数进阶 2. 命名空间 3. 关键字global和nonlocal 1. 函数进阶 动态接收位置参数 之前写的函数都是固定参数的,假设有个函数需要的参数由几十个,一个个写在形参的位置会非 ...
- python七类之集合
集合 一.关键字 : set 定义是 s = {} #当里面没有元素的时候表现为字典数据类型 s = {} #空的{}代表空的字典,而不是集合 print(type(s)) 集合是不可哈希的 ...
- Python调用time模块设置当前时间-指定时间
import datetimeimport time#新建元旦时间#将程序打包def A(): # 设定时间 newyear =datetime.datetime(2033,10,1) #调用当前时间 ...
- Leecode刷题之旅-C语言/python-383赎金信
/* * @lc app=leetcode.cn id=383 lang=c * * [383] 赎金信 * * https://leetcode-cn.com/problems/ransom-not ...
- React with webpack
//entry.js require("!style!css!./style.css"); require("./hello.jsx"); // documen ...
- Oracle入门第三天(上)——多表查询与分组函数
一.多表查询 所有的连接分析,参考之前随笔:http://www.cnblogs.com/jiangbei/p/7420136.html 1.笛卡尔积 select last_name, depart ...