一、基本信息
二、课程介绍
数据结构是计算机科学中一门重要的专业基础课程,也是地理信息科学专业的专业核心课。程序执行的效率不仅与数据组织有关,也与处理的方法紧密相关。因此,整个课程将围绕着数据组织、算法设计与分析两个方面展开,介绍线性表、栈与队列、串、数组与广义表、树、图等数据结构及其基本操作的算法实现与分析,并介绍查找、排序问题所涉及的数据结构与算法。帮助学生掌握基本的数据组织方法与经典算法的实现,从而在实际的应用当中,能够准确地选择合理的数据结构,并设计高效的算法来解决问题。
该课程旨在培养学生在软件设计、开发的过程中,正确分析数据的结构、并理选择数据的存储方式、科学设计操作算法的能力,对提高学生的开发能力、算法思维能力具有重要的指导意义。同时,数据结构中的线性表、树、图等基本结构及其相关算法,以及查找、排序等相关技术,都是本专业后续课程的重要基础。
三、课程用书
四、学习建议
数据结构对于地理信息科学专业的学生而言,有一定的难度,但要学好这门课其实并不难,关键的一点就是“有心”。这里给几点学习的建议:
1.做到课后复习,课堂上会介绍很多算法,这些算法对于初学者而言都是较难理解的。因此,一步一个脚印地复习十分重要,也会影响到后面实验课的效果。
2.对算法复习的方法分为两步,第一步先弄清“解决方案”和算法的总体思路,然后再进一步思考算法实现中的细节问题。对于能力较好的同学,这两步可以直接脱离课本或课件完成,再对照课本找出不足与改进的地方;对于学习稍有困难的同学,第一步可以先看课本或课件,把总体思路弄清楚,然后再自己写出具体实现方法;对于理解更有困难的同学,可以先看一遍课本或课件,把思路和具体算法都理解好了,然后再脱离课本自己写出来,这样也能达到复习巩固的效果。但不管哪种类型的同学,都要花时间去复习。
3.多练习,这里包括两个方面,首先,课本介绍的所有数据结构和算法都是可以通过程序设计语言实现的,只有通过编程实现,才能更好地体会这些内容(实现的时候务必脱离课本),“看书一百遍不如自己动手做一遍”,这样即巩固了知识加深了理解,又锻炼了开发能力。第二个方面是多做一些习题,我也是过来人,当年学习这门课的时候,我找了当时配套的同步练习册做通了一遍,这对我算法思维的培养非常重要,后面我写起算法来就能得心应手了。
“有心”的同学如果肯花时间做到以上三点,这门课一定能学好,并且在这门课程的学习过程中也必定大有收获。
——罗文斐老师
该门课理论课与实践课穿插进行,能让同学们在每一章节的理论课学习完成后会上对应内容的实践课,实践课上需要自己编写代码来来巩固理论知识。每一次的理论课讲的知识都很多,三节课的时间都会有大量的知识输出,一定要紧跟老师的思路走。讲完知识点后还会有思考题,所以课后一定要多花时间去琢磨、复习。思考题以及实践课的题目罗老师不会给大家答案,但是不会的可以向老师请教。死记硬背代码要不得,一定要学会推演算法,这样才能掌握这门课的精髓。
——2019级张雅朵
五、课堂剪影
图文来源 | 张雅朵 bwin必赢信息中心深度编辑部 覃靖斐
初审 | 刘小红
复审 | 何雪梅
终审 | 黄荣晓
标签: