数据结构—期末总结

来源:互联网 发布:同花顺炒股软件使用 编辑:程序博客网 时间:2024/05/09 23:48

一转眼,大二上学期也快接近尾声了,数据结构的学习已经结束了。回想起,第一次上数据结构课的时候,面对新的课程,我们都怀揣着激动与好奇的心情,来学习这门课。记得第一次见贺利坚老师时,就感觉很亲切。他没有其他老师那样严肃。脸上始终带着和蔼可亲的微笑,让人倍感放松。数据结构这门课程不想其他课程一样,采用的是翻转课堂。课前老师会在蓝墨云班课上发送下节课我们要学习的内容和视频。根据这些视频和课本来学习课本上的知识。不得不说,翻转课堂的效果不错,这比生硬的拿着课本学习要好很多。数据结构的内容较难,如果我们只拿着课本学习的话,难度会很大。而贺老师在视频上详细的讲解了算法的相关知识并且通过画图等方式,更加生动,形象。另一方面,传统的的课堂会让一些同学心生懒惰之心。老师也无法了解到她们的学习情况。而通过网上学习,老师就能时时刻刻看到我们的学习情况。初次之外,还可以在答疑区内进行讨论,将不懂得内容说出来,其他的同学进行解答,并给予奖励。这不得不提高了学生们的学习积极性。

         数据结构主要包括线性表,栈和队列,串,数组和广义表,树和二叉树以及图等章节。知识繁琐,算法精妙,让我学习到了新的知识,看到了有一个新的世界。数据结构在现实生活中也有很大的作用,应用也很广泛。

         学了顺序表和链表,你就知道,在查询操作更多的程序中,你应该用顺序表;而修改操作更多的程序中,你要使用链表;而单向链表不方便怎么办,每次都从头到尾好麻烦啊,怎么办?你这时就会想到双向链表or循环链表。学了栈之后,你就知道,很多涉及后入先出的问题,例如函数递归就是个栈模型、Android的屏幕跳转就用到栈,很多类似的东西,你就会第一时间想到:我会用这东西来去写算法实现这个功能。

       学习了队列之后,你就知道,对于先入先出要排队的问题,你就要用到队列,例如多个网络下载任务,我该怎么去调度它们去获得网络资源呢?再例如操作系统的进程(or线程)调度,我该怎么去分配资源(像CPU)给多个任务呢?肯定不能全部一起拥有的,资源只有一个,那就要排队!那么怎么排队呢?用普通的队列?但是对于那些优先级高的线程怎么办?那也太共产主义了吧,这时,你就会想到了优先队列。

        总之好好学数据结构就对了。我觉得数据结构就相当于:我塞牙了,那么就要用到牙签这“数据结构”,当然你用指甲也行,只不过“性能”没那么好;我要拧螺母,肯定用扳手这个“数据结构”,当然你用钳子也行,只不过也没那么好用。学习数据结构,就是为了了解以后在IT行业里搬砖需要用到什么工具,这些工具有什么利弊,应用于什么场景。以后用的过程中,你会发现这些基础的“工具”也存在着一些缺陷,你不满足于此工具,此时,你就开始自己在这些数据结构的基础上加以改造,这就叫做自定义数据结构。而且,你以后还会造出很多其他应用于实际场景的数据结构。

原创粉丝点击