20182306 2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结

目录

  • 20182306 2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结

    • 教材学习内容总结
    • 教材学习中的问题和解决过程
    • 代码调试中的问题和解决过程
    • 代码托管
    • 上周考试错题总结
    • 结对及互评
      • 评分标准
      • 点评模板:
      • 点评过的同学博客和代码
    • 其他(感悟、思考等,可选)
    • 学习进度条
    • 参考资料

20182306 2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结

教材学习内容总结

  • 查找

    • 线性查找即按顺序从前向后一个一个进行查找,但是为了提高代码运行效率,可以在第一个位置设置哨兵,从后向前查找。如果查找到的位置是在哨兵位置,则说明未找到这一目标。
    • 折半查找:时间复杂度为O(log2n),效率高,但只能用于有序线性存储结构。二分查找可以极大的减小算法的时间复杂度,但是缺点是其查找的内容必须是已经排序好的,对于那种不排序的杂乱的线性集合,二分查找法不适用,必须要先排序再查找。
    • 哈希表查找:使用mod算法来实现数据的快速存取
      • 开放地址法:线性探测再散列,若关键字对应地址非空,向后移位直到找到空地址存入,查找步骤与之相同。
      • 链地址法:将存储空间定义为链表数组,每一个存储空间都代表一个链表的表头,若出现冲突,直接延长链表的长度,查找顺序与存入顺序相同。
  • 排序
    • 插入排序:利用双重循环和插入,逐渐将整个表从前向后实现有序排列。
    • 快速排序:根任意元素划分表,再递归的对两个子表进行排序,从而完成一整组的排序。
    • 归并排序:先递归的把表对分成每个子表只含一个元素,再将子表按序合并。
    • 选择排序:反复将具体的值放到它最终应该去的有序位置。

教材学习中的问题和解决过程

  • 问题1:设置哨兵在数组第一位有什么意义。
  • 问题1解决方案:可以使查找过程获得一个一定可以找到的结果,此时只需要判断找到元素的位置是不是在哨兵位置,就可以判断原来序列中究竟是否含有这个元素。而这一过程可以使循环减少一个判断语句,循环次数多了以后就可以显著提高效率
  • 问题2:快速排序法和归并排序法是更加具有效率的排序方法,时间复杂度是多少?
  • 问题2解决方案:
    归并排序:时间复杂度是O(nlogn).
    快速排序:时间复杂度为O(n^2)。

代码调试中的问题和解决过程

  • 问题1:写书上代码时用了swap的方法,但是就出现了这样的错误
  • 问题1解决方案:对<? super T>这个部分进行了修改,

代码托管

上周考试错题总结

无考试

结对及互评

评分标准

  1. 正确使用Markdown语法(加1分)
  2. 模板中的要素齐全(加1分)
  3. 教材学习中的问题和解决过程, 3个问题加3分
  4. 代码调试中的问题和解决过程, 2个问题加2分
  5. 本周有效代码超过300分行的(加2分)
  6. 感想,体会不假大空的加1分
  7. 排版精美的加一分
  8. 进度条中记录学习时间与改进情况的加1分
  9. 有动手写新代码的加1分
  10. 课后选择题有验证的加1分
  11. 错题学习深入的加1分
  12. 点评认真,能指出博客和代码中的问题的加1分
  13. 结对学习情况真实可信的加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
第六周 837/3823 2/13 20/135
第七周 1639/5462 2/15 20/155
第八周 1233/6695 2/17 20/175
  • 计划学习时间:20小时
  • 实际学习时间:20小时

参考资料

原文地址:https://www.cnblogs.com/yanhan1/p/11792982.html

时间: 2024-10-03 13:27:53

20182306 2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结的相关文章

20182306 2019-2020-1 《数据结构与面向对象程序设计》第五学习总结

20182306 2019-2020-1 <数据结构与面向对象程序设计>第五学习总结 教材学习内容总结 尽量简单的总结一下本周学习内容 尽量不要抄书,浪费时间 看懂就过,看不懂,学习有心得的记一下 教材学习中的问题和解决过程 问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXXX ... 代码调试中的问题和解决过程 问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXXX ... 代码托管 (stat

《数据结构与面向对象程序设计》第四周学习总结

20182304 2019-2020-1 <数据结构与面向对象程序设计>第四周学习总结 教材学习内容总结 1.本章我们学习了使用并编写我们自己的类:类中有与类同名的构造方法,也可以有set,get,toSring与自己定义的方法.实例化一个对象,可通过该对象使用类里的所有方法.实例数据是每次创造一个实例后自动生成新的内存空间的变量 2.uml类图 :每个类可能包含三部分内容:类名.属性.操作(方法).UML类图有属于自己的语法,变量的类型名在变量名的后面,它们之间用冒号作为分隔符,方法的+和-

20182322 2019-2020-1 《数据结构与面向对象程序设计》第四周学习总结

教材学习内容总结 1.编写类与方法(构造方法的结构和用途) 2.实际参数与形式参数.public与private.return与void的区别与含义. 3.UML类图的含义与形式 4.静态类(Math类)静态变量.静态方法 5.类间关系(依赖关系.聚合关系.继承关系) 6.接口的使用,能够在某个类中实现接口的方法(Comparable.Iterator) 7.软件活动开发.方法设计.方法重载.测试(黑盒测试.白盒测试) 教材学习中的问题和解决过程 问题1:toString与return返回的值的

20182335 2019-2020-1 《数据结构与面向对象程序设计》第四周学习总结

教材学习内容总结 1.继承的基本语法与用法. 2.利用UML类图表示继承关系. 3.在具体编写类的时候,先是数据声明再是方法声明. 4.toString方法用println或print或字符串连接会自动调用. 5.每创建一个对象.都会为类中声明的变量建立新的内存空间. 6.UML图一些基础使用方法. 7.对象应该是自管理的,既对象的实例数据应该仅由该对象来修改,这就构成了封装. 代码调试中的问题和解决过程 问题1:测试代码出现错误 问题1解决方案:junit的方法名必须是textxxx或xxxt

20182306 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182306 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 管伟宇 学号:20182306 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,测试验证.(https://www.cnb

20182306 2019-2020-1 《数据结构与面向对象程序设计》实验七报告

20182306 2019-2020-1 <数据结构与面向对象程序设计>实验七报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 管伟宇 学号:20182306 实验教师:王志强 实验日期:2019年10月30日 必修/选修: 必修 1.实验内容 查找与排序-1 定义一个Searching和Sorting类,并在类中实现linearSearch,SelectionSort方法,最后完成测试 要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用

20182327 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182327 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名:赵天昊 学号:20182327 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,测试验证. 2. 实验过程及结果 不多说,上

20182319《数据结构与面向对象程序设计》实验二报告

20182319 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 彭淼迪 学号:20182319 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,用规定方法测试验证. 2. 实验过程及结果

# 20182331 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182331 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 高宽让 学号:20182331 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,测试验证.(https://www.cnb