20182308 华罗晗 2019-2020-1 《数据结构与面向对象程序设计》第10周学习总结

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

教材学习内容总结

有关于图的课堂内容:
邻接矩阵、邻接表,图的数组表示法。一个字符串上的数组就可实现数组。需要掌握。
我们简单提到了其他以下几种图:边集数组、无向图邻接表、逆邻接表、十字链表、邻接多重表(比较复杂,老师也没有讲)
图的遍历以及编码实现主要包括以下两大块的内容:前序中序后序的实现;广度优先搜索、深度优先搜索两种搜索方式的实现。

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

  • 问题1:图和树有什么区别?我们说的完全图又是什么意思?
  • 问题1解决方案:树中的每一个非根结点只能有一个父结点,而在图内就没有这种限制。图中没有所谓“根”的概念,理论上每一个结点都可以和最多n-1(假设我们有总共n个结点)个结点相连接。与“完全二叉树”相对应的概念就是图中的“完全图”,就是说有最多连线数的图。
  • 问题2:图要如何通过代码来进行实现呢?
  • 问题2解决方案:根据课本P423页的内容,目前实现图的代码方式是通过邻接表、邻接矩阵的方式。这两种方式(尤其是邻接矩阵)就是二维数组,而我们在C语言当中已经接触过二维数组。在这里,二维数组的每个位置表示图中两个顶点的交叉点,并且通过一个布尔型变量来判断两个顶点是否邻接。顶点和顶点之间的连线(边)的实现方式承袭的是用数组实现树的方式。
  • 问题3:图中的所谓“生成树”是什么东西,而什么又是“最小生成树”?
  • 问题2解决方案:课本中引入生成树的概念比较突然,但是是将图的“边”的概念和我们之前所学的“树”的概念衔接联系起来的一个方式。图的生成树就是指包含图中的所有顶点以及图中部分边的一棵树。而最小生成树就是指其所含边的权值之和小于、等于图的任意其他生成树的边的权值之和的生成树。(也可以理解为是由最优解中的边构成的树)

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

  • 问题1:书本上的代码没有集合成为一个类,而都是分散的方法,直接放在一起也会报错,应该要如何操作呢?
  • 问题1解决方案:课本上给出的只是其中的几个关键方法,而并不是完整的类。而且考虑到使用泛类的情况,我们可以不用直接使用课本上的代码,而是根据课本上的代码的思路进行拼接和改造。

代码托管

上周考试错题总结

上周没有考试。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20182312
    • 结对学习内容
      • 一起学习了图是什么,无向图的绘制方法。伙伴教会了我十字邻接表的思想和画法。
  • 上周博客互评情况

其他

  这个学期的课程实际上已经渐渐靠近尾声了,除了常规的数据结构学习之外,也有相当的课程学习时间要分配在制作小程序上。但是这不意味着我们可以减少对数据结构的学习时间。尤其是这几节的内容比如图的内容,看起来很好理解,但是实际上理解总是具有偏差。课本内容不多,而且代码实现起来也不容易。越是到了这个时候,就越不应该懈怠。上课的时候也要积极动手,老师要求画图的实践也一定要认真参与。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 6000行 30篇 400小时
第一周 101/101 2/2 23/23 了解了一些Linux系统操作入门、学会了基本的JDB调试操作
第二、三周 353/441 3/5 42/67 能够基本记住Java代码编程中的格式代码。了解了一些有关方法的特殊命令(比如substring)。了解了一些有关类的基本知识。
第四周 327/768 2/7 28/95 基本已经适应IDEA的基本功能
第五周 807/1575 2/9 17/112 基本能够理解继承的作用和用法,初步了解了接口的代码原理,能够正确分析优秀同学的代码思路
第六周 1015/2590 1/10 22/134
第七周 1199/3789 3/13 42/176
第八周 825/4614 1/14 22/198
第九周 1285/6199 3/17 25/223
第十周 616/6815 3/20 27/250
  • 计划学习时间:25小时
  • 实际学习时间:27小时
  • 改进情况:期末安卓大作业小程序已经抬上了日程,为此必须要提高效率,给小程序的开发提供足够的程序,于是要尽快地完成常规作业。

参考资料

原文地址:https://www.cnblogs.com/77599aa/p/11914858.html

时间: 2024-10-08 01:05:22

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

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

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

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

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

课程:<程序设计与数据结构>班级: 1823姓名: 华罗晗学号:20182308实验教师:王志强实验日期:2019年9月16日必修/选修: 必修 1. 实验内容 (1) 编写简单的计算器,完成加减乘除模运算.(2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出.(3) 编写测试代码,测试验证.(https://www.cnblogs.com/rocedu/p/4472842.html) 2. 实验过程及结果 (1)编辑一个符合计算器

20182308 华罗晗 2019-2020-1 《数据结构与面向对象程序设计》 实验四报告

课程:<程序设计与数据结构>班级: 1823姓名: 华罗晗学号:20182308实验教师:王志强实验日期:2019年9月30日必修/选修: 必修 1.实验内容 (一)Java Socket编程 1.学习蓝墨云上教材<Java和Android编程>“第16章 输入/输出 ”和“第22章 网络”,学习JavaSocket编程2.结对编程.结对伙伴A编写客户端SocketClient.java,结对伙伴B编写服务器端.3.截图加学号水印上传蓝墨云,代码push到码云,并撰写实验报告. (

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

20182308 华罗晗 2019-2020-1 《数据结构与面向对象程序设计》第4周学习总结

教材学习内容总结 初步了解了实例化数据和编写类的一些方法.再一次了解了封装的概念(并结合了第八章的继承的有关内容),通过书上关于UML的内容,编写了第一个UML视图. 了解了在同一个类中的return和this等命令的用法. 参照书本和教程,学习了一些关于TDD调试的思想和方法. 教材学习中的问题和解决过程 问题一:可见性修饰符是什么?它存在的意义是什么? 问题一解决过程:翻阅课本P108的有关内容,并且往后预习学习第八章中有关继承的内容.可见性修饰符的一个典型例子就是protected,这样的

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

学号 2019-2020-1 <数据结构与面向对象程序设计>实验六报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 华罗晗 学号:20182308 实验教师:王志强 实验日期:2019年10月21日 必修/选修: 必修 1.实验内容 1.链表练习,要求实现下列功能: 通过键盘输入一些整数,建立一个链表: 这些数是你学号中依次取出的两位数. 再加上今天的时间. 例如你的学号是 20172301 今天时间是 2018/10/1, 16:23:49秒 数字就是 20, 17,

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

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