第十六周 - 数据结构学期总结
2017-12-14 18:23
169 查看
O : 在本学期的学习中,我通过自主学习和课堂学习两种方式,共学习了以下内容:
一、了解了数据结构和算法的基本概念
1. 了解了逻辑结构和存储结构的基本表示和分类(逻辑结构可用图表或二元组表示,分为集合、线性结构、
树形结构三类;存储结构分为顺序存储结构、链式结构、索引存储结构、哈希存储结构四类)
2. 复习了几种常用的数据类型,并学习了抽象数据类型的构建
3. 初步学习了算法的基本概念,了解了算法时间复杂度的基本概念及运算方法
二、学习了线性表的相关知识
1. 了解了线性表的定义及线性表抽象数据类型的描述
2. 重点学习了线性表的顺序存储结构--顺序表和链式存储结构--链表的相关知识,包括了解顺序表和链表的基
本思想,理解并掌握顺序表、单链表、双链表的算法组成及实现,能按照代码画出或描述出顺序表和链表
的增删改查排序等功能的实现过程。
3. 练习了线性表的应用,分别构建了顺序表和单链表、双链表的算法库
4. 简单学习了有序表的相关知识
三、学习了栈和队列的相关知识(以线性表的知识为基础)
1. 了解了栈和队列的定义及栈和队列抽象数据类型的描述
2. 重点学习了栈和队列的相关知识,包括:
①栈的顺序存储结构及链式存储结构的基本运算的实现。基本运算包括栈的初始化、销毁栈、判断栈是否
为空、进栈、出栈、取栈顶元素等
②队列的顺序存储结构及链式存储结构的基本运算的实现。基本运算包括队列的初始化、销毁队列、判断
队列是否为空、进队、出队等
③能根据算法画出栈和队列基本运算的实现过程
④建立栈和队列的算法库
3. 学习了栈和队列的特点:栈的特点为先进后出,队列的特点为先进先出,他们共同的特点为都是受限的线
性表,都只能在表的一端进行操作
四、学习了串的基本概念
1. 了解了串的定义及串抽象数据类型的描述
2. 重点学习了串的顺序存储结构--顺序串的相关算法,包括生成串、销毁串、串的插入、串的复制等
3. 在串的模式匹配中,学习了Brute-Force算法和KMP算法
五、学习了数组和广义表的相关知识
复习了简单数组的相关知识,重点学习了特殊矩阵压缩存储和稀疏矩阵表示
六、学习了树和二叉树的相关知识
1. 了解树和二叉树的定义及树和二叉树抽象数据类型的描述
2. 重点学习了树和二叉树相关算法,包括:
①学习了树的基本概念及逻辑表示方法,了解了树的基本术语及性质
②重点学习了树的基本运算及树的存储结构,在基本运算中,学习了树的先根、后根及层次遍历;在存储
结构中,学习了双亲存储结构、孩子链存储结构及孩子兄弟链存储结构
③学习了二叉树的基本概念和性质,学习了二叉树与树、森林之间的转换,能够画出转换过程
④重点学习了二叉树的顺序存储结构及链式存储结构,可自主画出顺序存储及链式存储的具体过程
⑤重点理解了二叉树的基本运算算法,包括创建二叉树、销毁二叉树、输出二叉树、查找节点及求树高
⑥重点理解并掌握了二叉树的三种遍历算法思想--先序、中序及后序遍历,理解相应递归算法,并能按照
算法基本思想描述相应遍历过程或者画出遍历过程
⑦重点理解并掌握了二叉树构造的两个定理,并能熟练使用这两个定理,能根据给出的先序或后序序列及
中序序列确定唯一的原序列
⑧重点理解了线索二叉树和哈夫曼树的实现思想,会画出相应过程图
七、学习了图的相关知识
1. 了解了图的定义及图的基本术语,学习了邻接表的存储方法,会画邻接表
2. 重点学习并理解图的两种遍历算法,掌握深度优先遍历及广度优先遍历的算法思想,能根据题目要求写出
遍历过程
3. 重点学习了生成树的相关知识,包括:
①理解生成树的概念,知道与生成树有关的术语意义,能根据深度优先遍历及广度优先遍历分别构造深度
优先生成树及广度优先生成树,并能画出这一过程
②理解带权图的最小生成树的概念,理解普里姆算法和克鲁斯卡尔算法思想,会按照这两种算法思想构造
最小生成树
4. 会求从一个顶点到其它顶点的最短路径,了解狄克斯特拉算法的思想,会描述求解过程
5. 了解拓扑排序,会找拓扑序列
八、学习了查找算法的相关知识
1. 了解了查找的基本概念
2. 重点学习了线性表的查找算法及查找思路,包括线性表的顺序查找、折半查找及线性表的索引存储结构及
分块查找,能根据要求画出查找过程
3. 重点学习了数表的查找,包括:
①了解了二叉排序树的相关算法,包括二叉排序树的插入及创建、查找、删除等操作,能根据算法画出相
应的二叉排序树,并能掌握删除操作的思想,做到正确画出删除节点后的二叉排序树
②重点学习了平衡二叉树插入结点及删除结点的过程,理解LL型、RR型、LR型、RL型调整的思想,能描
述调整过程并能画出每次调整后的平衡二叉树
③重点学习了B-树的相关操作,包括B-树的查找、插入、删除,能够根据算法思想画出相应B-树
4. 重点学习了哈希表的查找,包括:
①了解了哈希表的基本概念及哈希表的构造方法
②重点学习了哈希冲突的解决方法,有开放地址法和拉链法。能根据算法思想画出解决冲突的过程
③会用开放地址法和拉链法构造哈希表,并会计算查找成功和查找不成功时的平均查找长度
九、学习了排序的相关知识
1. 了解了排序的基本概念
2. 重点学习了插入排序的相关知识,插入排序包括直接插入排序、折半插入排序及希尔排序,重点掌握了这三
种算法的排序思路及算法组成,并能在纸上画出排序流程
3. 重点学习了交换排序的相关知识,交换排序包括冒泡排序、快速排序,重点掌握了这两种算法的排序思路及
算法组成,并能在纸上画出排序流程
4. 重点学习了选择排序的相关知识,选择排序包括简单选择排序、堆排序,重点掌握了简单选择排序算法的排
序思路及算法组成和堆排序的排序思路,并能在纸上画出排序流程
5. 重点学习了归并排序及基数排序的排序思路,简单了解了算法组成,要求能描述排序过程或画出排序过程
R : 在本学期的学习中,我对反转课堂的态度有三个阶段的变化。第一阶段是学习线性表、栈和队列及树和二叉树
的前半部分的时候,在这一阶段我能够认真观看视频并且按时完成课后练习,学习态度积极,完成效果比较好,
但在学习串、数组和广义表的时候由于个人原因请假回家了,所以这一部分视频和课后练习都没跟上是之后补的
第二阶段是学习二叉树的遍历、二叉树构造、线索二叉树及哈夫曼树的时候,在这一阶段由于课后视频太多太
长,我没有合理安排时间,以至于视频内容在上课之前看不完,习题自然也没有做,在上课的时候经常不知道老
师在讲什么,学习效果非常不好;
第三阶段是学习查找、排序内容的时候,视频依然很多,但在这一阶段我调整了看视频的时间,从视频发布开
始,只要有空就看一点,尽量做到上课前把给的视频看完,如果看不完,就先看重点难点,确保上课时能知道老
师讲的什么并能跟上老师思路,在这一阶段,虽然还是有的知识没能掌握,但学习效果有了明显的改善
我认为学习是个不断摸索的过程,教学方法永远在变,所以我们也要配合教学改变自己的学习方法,就反转课
堂而言,上课是对课后自学的巩固时间,如果不能跟上节奏,那么就是在浪费课上时间。
I : 对于已经完成的部分,在最后两周的复习中只要跟着课件在整理一遍思路就好了,但对于没完成的部分或者完
成效果不好的部分,在复习时要重新看一遍视频,把之前欠的东西补上。如果给这学期的学习情况打个分的话,我
会给自己打80分,好的地方就不多说了,但是需要反思的是有一段时间一直拖拉的不想学习的状态,而且在学习
的过程中我做的笔记不是很好,以至于在复习的时候有很多地方忘了需要再重新看视频找答案,这样就浪费了很
多时间。
D : 在大学生活中我不习惯课前自学,因为课前自学的范围及重点不好把握,往往花了很多时间看的几页书在上课
时几分钟就能讲完,那时常想如果有老师告诉我们大体范围就好了。在贺老师的课堂上,我们用了翻转课堂这种新
型学习方式,这与之前我所预想的学习方式基本相同。但在我的实践过程中问题也随之而来。大量的视频占用了很
多课下的时间,而且学习内容与难度也不断加大,我开始对这些视频不耐烦,看不完视频的情况也频频发生。但是
我明白,一下子从不自学到自学的过程中总会出现诸多困难,所以当问题出现及时改变心态解决就好,所以我开始
把视频分到每天看,这样不会因为只有上课前一天才看视频而出现的知识点大量堆积而头晕脑胀,也不会因为一下
子看太久视频而变成刷课。但我经过了将近两周的低迷期,所以现在欠了很多账。我决定在复习的时候认真学习视
频里的内容,结合贺老师上传的课上活动的课件,把没学会的知识尽量补上。在今后的学习中,我会更多的采用互
联网上的资源提前自助学习,期望收到更好的效果。最后,希望期末能有一个好成绩!
一、了解了数据结构和算法的基本概念
1. 了解了逻辑结构和存储结构的基本表示和分类(逻辑结构可用图表或二元组表示,分为集合、线性结构、
树形结构三类;存储结构分为顺序存储结构、链式结构、索引存储结构、哈希存储结构四类)
2. 复习了几种常用的数据类型,并学习了抽象数据类型的构建
3. 初步学习了算法的基本概念,了解了算法时间复杂度的基本概念及运算方法
二、学习了线性表的相关知识
1. 了解了线性表的定义及线性表抽象数据类型的描述
2. 重点学习了线性表的顺序存储结构--顺序表和链式存储结构--链表的相关知识,包括了解顺序表和链表的基
本思想,理解并掌握顺序表、单链表、双链表的算法组成及实现,能按照代码画出或描述出顺序表和链表
的增删改查排序等功能的实现过程。
3. 练习了线性表的应用,分别构建了顺序表和单链表、双链表的算法库
4. 简单学习了有序表的相关知识
三、学习了栈和队列的相关知识(以线性表的知识为基础)
1. 了解了栈和队列的定义及栈和队列抽象数据类型的描述
2. 重点学习了栈和队列的相关知识,包括:
①栈的顺序存储结构及链式存储结构的基本运算的实现。基本运算包括栈的初始化、销毁栈、判断栈是否
为空、进栈、出栈、取栈顶元素等
②队列的顺序存储结构及链式存储结构的基本运算的实现。基本运算包括队列的初始化、销毁队列、判断
队列是否为空、进队、出队等
③能根据算法画出栈和队列基本运算的实现过程
④建立栈和队列的算法库
3. 学习了栈和队列的特点:栈的特点为先进后出,队列的特点为先进先出,他们共同的特点为都是受限的线
性表,都只能在表的一端进行操作
四、学习了串的基本概念
1. 了解了串的定义及串抽象数据类型的描述
2. 重点学习了串的顺序存储结构--顺序串的相关算法,包括生成串、销毁串、串的插入、串的复制等
3. 在串的模式匹配中,学习了Brute-Force算法和KMP算法
五、学习了数组和广义表的相关知识
复习了简单数组的相关知识,重点学习了特殊矩阵压缩存储和稀疏矩阵表示
六、学习了树和二叉树的相关知识
1. 了解树和二叉树的定义及树和二叉树抽象数据类型的描述
2. 重点学习了树和二叉树相关算法,包括:
①学习了树的基本概念及逻辑表示方法,了解了树的基本术语及性质
②重点学习了树的基本运算及树的存储结构,在基本运算中,学习了树的先根、后根及层次遍历;在存储
结构中,学习了双亲存储结构、孩子链存储结构及孩子兄弟链存储结构
③学习了二叉树的基本概念和性质,学习了二叉树与树、森林之间的转换,能够画出转换过程
④重点学习了二叉树的顺序存储结构及链式存储结构,可自主画出顺序存储及链式存储的具体过程
⑤重点理解了二叉树的基本运算算法,包括创建二叉树、销毁二叉树、输出二叉树、查找节点及求树高
⑥重点理解并掌握了二叉树的三种遍历算法思想--先序、中序及后序遍历,理解相应递归算法,并能按照
算法基本思想描述相应遍历过程或者画出遍历过程
⑦重点理解并掌握了二叉树构造的两个定理,并能熟练使用这两个定理,能根据给出的先序或后序序列及
中序序列确定唯一的原序列
⑧重点理解了线索二叉树和哈夫曼树的实现思想,会画出相应过程图
七、学习了图的相关知识
1. 了解了图的定义及图的基本术语,学习了邻接表的存储方法,会画邻接表
2. 重点学习并理解图的两种遍历算法,掌握深度优先遍历及广度优先遍历的算法思想,能根据题目要求写出
遍历过程
3. 重点学习了生成树的相关知识,包括:
①理解生成树的概念,知道与生成树有关的术语意义,能根据深度优先遍历及广度优先遍历分别构造深度
优先生成树及广度优先生成树,并能画出这一过程
②理解带权图的最小生成树的概念,理解普里姆算法和克鲁斯卡尔算法思想,会按照这两种算法思想构造
最小生成树
4. 会求从一个顶点到其它顶点的最短路径,了解狄克斯特拉算法的思想,会描述求解过程
5. 了解拓扑排序,会找拓扑序列
八、学习了查找算法的相关知识
1. 了解了查找的基本概念
2. 重点学习了线性表的查找算法及查找思路,包括线性表的顺序查找、折半查找及线性表的索引存储结构及
分块查找,能根据要求画出查找过程
3. 重点学习了数表的查找,包括:
①了解了二叉排序树的相关算法,包括二叉排序树的插入及创建、查找、删除等操作,能根据算法画出相
应的二叉排序树,并能掌握删除操作的思想,做到正确画出删除节点后的二叉排序树
②重点学习了平衡二叉树插入结点及删除结点的过程,理解LL型、RR型、LR型、RL型调整的思想,能描
述调整过程并能画出每次调整后的平衡二叉树
③重点学习了B-树的相关操作,包括B-树的查找、插入、删除,能够根据算法思想画出相应B-树
4. 重点学习了哈希表的查找,包括:
①了解了哈希表的基本概念及哈希表的构造方法
②重点学习了哈希冲突的解决方法,有开放地址法和拉链法。能根据算法思想画出解决冲突的过程
③会用开放地址法和拉链法构造哈希表,并会计算查找成功和查找不成功时的平均查找长度
九、学习了排序的相关知识
1. 了解了排序的基本概念
2. 重点学习了插入排序的相关知识,插入排序包括直接插入排序、折半插入排序及希尔排序,重点掌握了这三
种算法的排序思路及算法组成,并能在纸上画出排序流程
3. 重点学习了交换排序的相关知识,交换排序包括冒泡排序、快速排序,重点掌握了这两种算法的排序思路及
算法组成,并能在纸上画出排序流程
4. 重点学习了选择排序的相关知识,选择排序包括简单选择排序、堆排序,重点掌握了简单选择排序算法的排
序思路及算法组成和堆排序的排序思路,并能在纸上画出排序流程
5. 重点学习了归并排序及基数排序的排序思路,简单了解了算法组成,要求能描述排序过程或画出排序过程
R : 在本学期的学习中,我对反转课堂的态度有三个阶段的变化。第一阶段是学习线性表、栈和队列及树和二叉树
的前半部分的时候,在这一阶段我能够认真观看视频并且按时完成课后练习,学习态度积极,完成效果比较好,
但在学习串、数组和广义表的时候由于个人原因请假回家了,所以这一部分视频和课后练习都没跟上是之后补的
第二阶段是学习二叉树的遍历、二叉树构造、线索二叉树及哈夫曼树的时候,在这一阶段由于课后视频太多太
长,我没有合理安排时间,以至于视频内容在上课之前看不完,习题自然也没有做,在上课的时候经常不知道老
师在讲什么,学习效果非常不好;
第三阶段是学习查找、排序内容的时候,视频依然很多,但在这一阶段我调整了看视频的时间,从视频发布开
始,只要有空就看一点,尽量做到上课前把给的视频看完,如果看不完,就先看重点难点,确保上课时能知道老
师讲的什么并能跟上老师思路,在这一阶段,虽然还是有的知识没能掌握,但学习效果有了明显的改善
我认为学习是个不断摸索的过程,教学方法永远在变,所以我们也要配合教学改变自己的学习方法,就反转课
堂而言,上课是对课后自学的巩固时间,如果不能跟上节奏,那么就是在浪费课上时间。
I : 对于已经完成的部分,在最后两周的复习中只要跟着课件在整理一遍思路就好了,但对于没完成的部分或者完
成效果不好的部分,在复习时要重新看一遍视频,把之前欠的东西补上。如果给这学期的学习情况打个分的话,我
会给自己打80分,好的地方就不多说了,但是需要反思的是有一段时间一直拖拉的不想学习的状态,而且在学习
的过程中我做的笔记不是很好,以至于在复习的时候有很多地方忘了需要再重新看视频找答案,这样就浪费了很
多时间。
D : 在大学生活中我不习惯课前自学,因为课前自学的范围及重点不好把握,往往花了很多时间看的几页书在上课
时几分钟就能讲完,那时常想如果有老师告诉我们大体范围就好了。在贺老师的课堂上,我们用了翻转课堂这种新
型学习方式,这与之前我所预想的学习方式基本相同。但在我的实践过程中问题也随之而来。大量的视频占用了很
多课下的时间,而且学习内容与难度也不断加大,我开始对这些视频不耐烦,看不完视频的情况也频频发生。但是
我明白,一下子从不自学到自学的过程中总会出现诸多困难,所以当问题出现及时改变心态解决就好,所以我开始
把视频分到每天看,这样不会因为只有上课前一天才看视频而出现的知识点大量堆积而头晕脑胀,也不会因为一下
子看太久视频而变成刷课。但我经过了将近两周的低迷期,所以现在欠了很多账。我决定在复习的时候认真学习视
频里的内容,结合贺老师上传的课上活动的课件,把没学会的知识尽量补上。在今后的学习中,我会更多的采用互
联网上的资源提前自助学习,期望收到更好的效果。最后,希望期末能有一个好成绩!
相关文章推荐
- 数据结构课程 -- 学期总结
- 【总结】数据结构:线段树专辑
- 数据结构——链表(面试常见题型总结)
- 总结:结构体嵌套调用内层结构体数据的问题
- 数据结构再总结
- 第十六周--学期总结
- C#知识点总结系列:C# 数据结构
- C#知识点总结系列:C# 数据结构
- 【数据结构算法】——内部排序整理总结
- 数据结构与程序设计第一章编程原则总结
- ZH奶酪:【数据结构与算法】基础排序算法总结与Python实现
- 数据结构课程总结
- 数据结构期末总结
- 数据结构—排序总结
- 10.1总结_数据结构
- 数据结构(Java)——栈的实现总结
- 数据结构之线性表题目总结
- 数据结构考后总结
- Redis命令、数据结构场景、配置文件总结
- opencv中图像数据结构总结