时光飞逝转眼这学期就要结束了,想想刚接触到数据结构不知所措的样子仿佛还在昨天。还记得暑假的时候刚刚得知贺老师要用翻转课堂这种教学方式教我们,一开始心里还是有些抗拒的,因为从小到大接触到的都是传统的教学方式,突然改变了总是觉得会很难适应,当然结果也证明了的确是要花费一番心思才能够适应这种转变。这学期开学真正的接触到数据结构以后,说实话是有一种天塌下来的感觉的,因为觉得实在是太难了,也可能是大一时候C++的基础就没有打牢的缘故吧,总觉得数据结构学起来没有那么的得心应手,看视频听老师讲课也总是云里雾里的,感觉眼前有一团雾总也拨不开。 开学的第一堂课,见到了传说中的贺老师,贺老师看起来很面善再加上总是笑呵呵的所以很容易就让人产生了好感。贺老师强调了数据结构的重要性并且给我们看了一些翻转课堂以及关于这门课的小视频,不知不觉的就让我们对这门课多了几分兴趣。
数据结构的第一章是绪论,主要讲了什么是数据结构以及算法,让我们对数据结构及算法有了一定的了解,接着就学了第二章线性表。主要学了线性表的顺序存储结构和链式存储结构。线性表采用顺序存储结构时,有利用线性表长度的计算、线性表数据元素的存取和数据元素的遍历,有点类似于c++的数组,但是采用顺序存储结构,插入和删除数据元素时,要移动较多的数据元素;采用链表结构存储的线性表,克服了插入和删除数据元素时要移动较多元素的缺点,只要寻找到需要插入和删除的数据元素处,处理相应的指针就可以实现数据元素的插入和删除,同时也和顺序存储的线性表一样方便遍历,但是不利于计算线性表的长度。在实际应用中,结合顺序表易于计算表长和链表易于插入和删除的特点,实际一般采用两者结合的一种单链表。而栈和队列都是一种特殊的线性表。栈是只能在某一端插入和删除的特殊线性表,它按照后进先出的原则存储数据,先进入的数据被压在栈底,后进入的元素在栈顶,需要读数据的时候从栈顶开始弹出数据。而队列只允许在表的前端进行删除操作,在表的后端进行插入操作,进行插入的操作端称为队尾,进行删除的操作端称为队头。后面还有遍历二叉树的内容,先序遍历,中序遍历,后序遍历。相比较而言先序遍历最简单,其次是中序遍历,比较难的是后序遍历,贺老师在课堂上也专门拿出了时间和我们一起练习。然后还学了图,图的存储结构有邻接矩阵存储以及邻接表存储,邻接矩阵存储就是用两个数组来表示图,一维数组存储图中顶点的信息,二维数组则存储边或者弧的信息,这种存储方式不适合边数相对顶点较少的图,因此就有了数组与链表相结合的邻接表。图的遍历则和树的遍历就有些相似了。后面还学到了查找,其中顺序查找是针对无序序列的一种最简单的查找方式,而折半查找则是针对已排序序列的一种查找方式,并且只适用于顺序存储结构的序列。还学到了B树的查找插入与删除。书的后半部分还讲到了排序,分为内排序和外排序。内排序分为插入排序,交换排序,选择排序,归并排序以及基数排序。插入排序又分为直接插入排序以及折半插入排序,两种算法的不同点是寻找插入位置方式不同,还有一种特殊的插入排序就是希尔排序了,它是提供一个增量序列,每次根据增量序列将待排序的记录划分为若干组,然后分别对这若干组采用插入排序进行排序。当然后面还有很多的内容。我个人觉得学习数据结构构建知识框架很重要,数据结构包括线性结构,树形结构,图状结构或者网状结构。线性结构包括线性表,栈与队列,串,数组,广义表等,其中数组和广义表是对线性表的扩展。
关于翻转课堂呢,它是一种新颖的教学方式,重新调整了课堂内外的时间,把学习的主动权交到了我们手里。它当然是要求学习的自主性和自觉性,而我从小的学习都是在某种监督下的,更是害怕自己的懒惰和不自觉会坏了大事,这也就是我一开始比较抵触这种新型教学方式的原因了。我还记得刚开学的日子,平时课下时间散漫惯了,哪里还想着去看贺老师发布的视频,到了周五贺老师一提醒才记起这回事来,这才手忙脚乱的去看视频去完成作业,那段时间用一个字评价就是:乱。后来才渐渐觉出翻转课堂的好处来,视频就在那里放着,随时可以看,甚至看不懂不理解的地方我们也可以翻过来复过去的看直到明白了为止,不像是从前的课堂,老师讲过去就是讲过去了我们也没有办法再随时把老师的话拿出来琢磨研究。而且,我们课下看了视频,课上可以把难点疑点反馈给老师,老师就可以着重讲这几个点,不必再浪费时间在一些易懂的点上了,课上的时间就得到了有效的利用。翻转课堂让我们的学习更加灵活和主动了。当然说的是比较好听了,事实上翻转课堂虽然一定程度上让我学习变的更加主动了,但是十几年的习惯也没有那么容易改掉,还是会有犯懒的时候,有时候直到周一上课视频都没有看完,还安慰自己说下次补上但是下次还有下次的视频要看,所以那些没看的视频也就一直这么拖欠了下来。每次没看视频的时候,上贺老师的课就比较难受了,因为听不懂贺老师在讲什么,贺老师让课上练习的题也全然不会,只能拿着笔对着白纸尴尬的坐在那里。虽然说数据结构挺难的,但是我也不会放弃它,那些以前落下的知识我会趁着这最后的复习时间尽力把它补回来,当然师生一场也希望贺老师能够在有原则的基础上手下留情啦~ (,,•́ . •̀,,)
数据结构的第一章是绪论,主要讲了什么是数据结构以及算法,让我们对数据结构及算法有了一定的了解,接着就学了第二章线性表。主要学了线性表的顺序存储结构和链式存储结构。线性表采用顺序存储结构时,有利用线性表长度的计算、线性表数据元素的存取和数据元素的遍历,有点类似于c++的数组,但是采用顺序存储结构,插入和删除数据元素时,要移动较多的数据元素;采用链表结构存储的线性表,克服了插入和删除数据元素时要移动较多元素的缺点,只要寻找到需要插入和删除的数据元素处,处理相应的指针就可以实现数据元素的插入和删除,同时也和顺序存储的线性表一样方便遍历,但是不利于计算线性表的长度。在实际应用中,结合顺序表易于计算表长和链表易于插入和删除的特点,实际一般采用两者结合的一种单链表。而栈和队列都是一种特殊的线性表。栈是只能在某一端插入和删除的特殊线性表,它按照后进先出的原则存储数据,先进入的数据被压在栈底,后进入的元素在栈顶,需要读数据的时候从栈顶开始弹出数据。而队列只允许在表的前端进行删除操作,在表的后端进行插入操作,进行插入的操作端称为队尾,进行删除的操作端称为队头。后面还有遍历二叉树的内容,先序遍历,中序遍历,后序遍历。相比较而言先序遍历最简单,其次是中序遍历,比较难的是后序遍历,贺老师在课堂上也专门拿出了时间和我们一起练习。然后还学了图,图的存储结构有邻接矩阵存储以及邻接表存储,邻接矩阵存储就是用两个数组来表示图,一维数组存储图中顶点的信息,二维数组则存储边或者弧的信息,这种存储方式不适合边数相对顶点较少的图,因此就有了数组与链表相结合的邻接表。图的遍历则和树的遍历就有些相似了。后面还学到了查找,其中顺序查找是针对无序序列的一种最简单的查找方式,而折半查找则是针对已排序序列的一种查找方式,并且只适用于顺序存储结构的序列。还学到了B树的查找插入与删除。书的后半部分还讲到了排序,分为内排序和外排序。内排序分为插入排序,交换排序,选择排序,归并排序以及基数排序。插入排序又分为直接插入排序以及折半插入排序,两种算法的不同点是寻找插入位置方式不同,还有一种特殊的插入排序就是希尔排序了,它是提供一个增量序列,每次根据增量序列将待排序的记录划分为若干组,然后分别对这若干组采用插入排序进行排序。当然后面还有很多的内容。我个人觉得学习数据结构构建知识框架很重要,数据结构包括线性结构,树形结构,图状结构或者网状结构。线性结构包括线性表,栈与队列,串,数组,广义表等,其中数组和广义表是对线性表的扩展。
关于翻转课堂呢,它是一种新颖的教学方式,重新调整了课堂内外的时间,把学习的主动权交到了我们手里。它当然是要求学习的自主性和自觉性,而我从小的学习都是在某种监督下的,更是害怕自己的懒惰和不自觉会坏了大事,这也就是我一开始比较抵触这种新型教学方式的原因了。我还记得刚开学的日子,平时课下时间散漫惯了,哪里还想着去看贺老师发布的视频,到了周五贺老师一提醒才记起这回事来,这才手忙脚乱的去看视频去完成作业,那段时间用一个字评价就是:乱。后来才渐渐觉出翻转课堂的好处来,视频就在那里放着,随时可以看,甚至看不懂不理解的地方我们也可以翻过来复过去的看直到明白了为止,不像是从前的课堂,老师讲过去就是讲过去了我们也没有办法再随时把老师的话拿出来琢磨研究。而且,我们课下看了视频,课上可以把难点疑点反馈给老师,老师就可以着重讲这几个点,不必再浪费时间在一些易懂的点上了,课上的时间就得到了有效的利用。翻转课堂让我们的学习更加灵活和主动了。当然说的是比较好听了,事实上翻转课堂虽然一定程度上让我学习变的更加主动了,但是十几年的习惯也没有那么容易改掉,还是会有犯懒的时候,有时候直到周一上课视频都没有看完,还安慰自己说下次补上但是下次还有下次的视频要看,所以那些没看的视频也就一直这么拖欠了下来。每次没看视频的时候,上贺老师的课就比较难受了,因为听不懂贺老师在讲什么,贺老师让课上练习的题也全然不会,只能拿着笔对着白纸尴尬的坐在那里。虽然说数据结构挺难的,但是我也不会放弃它,那些以前落下的知识我会趁着这最后的复习时间尽力把它补回来,当然师生一场也希望贺老师能够在有原则的基础上手下留情啦~ (,,•́ . •̀,,)