如今,计算机已深入到人类社会的各个领域。计算机的应用已不再局限于科学计算,而更多地用于控制、管理及数据处理等非数值计算的处理工作。与此相应,计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据,这就给程序设计带来了一些新的问题。为了编写一个“好”的程序,必须分析待处理的对象的特性以及各种处理对象之间存在的关系。这就是《数据结构》这门学科形成和发展的背景。
《数据结构》课程不仅是计算机专业和软件工程专业等的本科主干课程,也是非计算机类学生和研究生学习计算机的必修课程,是一门综合性的专业基础课,介于数学、计算机硬件、计算机软件之间的核心课程。
该课程涉及数据在计算机中的表示、组织和处理,以及相应结构上的算法设计和初步的算法性能分析技术。本课程的内容主要是以抽象数据类型的观点来组织和讲解线性表、树、二叉树、图等各种主要的数学模型并定义为相应的抽象数据类型,给出各种物理表示法和有关算法,关于数据处理技术介绍了几种主要的排序和查找算法。其研究思想和研究方法在计算机科学中许多有深度的研究领域得到广泛的应用,为学生今后从事理论研究、应用开发、技术管理工作提供了坚实的理论基础。同时,学好这门课程,也为后续课程《操作系统》、《数据库》和《编译原理》等课程起到很好的奠基作用。
使学生学会分析研究计算机加工的数据结构特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步掌握算法的时间分析和空间分析的技术。另一方面,本课程的学习过程也是复杂的程序设计的训练过程,培养学生编写的程序结构清楚和正确易读,符合软件工程的规范。
通过本门课程的学习,使学生达到以下教学目标:
1、知识目标
(1)掌握程序设计的基本原理和方法。
(2)了解对各种抽象数据类型的性质。
(3)掌握处理各种抽象数据类型的基本算法。
(4)初步掌握算法的简单时间复杂度分析方法。
2、素质目标
学生通过学习该课程后能够运用数据结构的思想,针对不同数据对象的特性,能够选择适当的数据结构和存储结构以及相应的算法,解决实际的问题。
3、能力目标
学生通过学习该课程后能够应用一门程序设计语言进行各种应用系统的设计、开发及维护。
课程成绩由三部分组成:
1、单元测试20%
2、互评作业20%
3、期末考试60%
离散数学
程序设计语言
1、选用教材:
严蔚敏,李冬梅,吴伟民,《数据结构(C语言版)第2版》,人民邮电出版社,2015.
2、参考书:
(1)严蔚敏,吴伟,《数据结构题集》,清华大学出版社,2011.
(2)李春葆,《数据结构习题与解析》,清华大学出版社,2013.
(3)郑莉,董源, 何江舟。《C++语言程序设计(第4版)》,清华大学出版社,2011.
(4)谭浩强,《C语言程序设计》,电子工业出版社,2000.
3、推荐网站:
(1)复旦大学数据结构精品课程网站 https://jpkc.fudan.edu.cn/s/256/main.htm。
(2)《数据结构》山东省级精品课程 https://ds.hitwh.edu.cn/。
(3)数据结构 吉林大学 刘大有 - 课程展示 - 课程中心 - 国家精品课程资源网 - Curriculum Center https://www.jingpinke.com/xpe/portal/270863e5-1189-1000-8dc9-ac9dee625938?uuid=8a833996-18ac928d-0118-ac9291b9-05e2&objectId=oid:8a833996-18ac928d-0118-ac9291b9-05e3&courseID=A030012。
(4)电子科技大学数据结构精品课程_其他_视频教程_js代码 https://www.jsdaima.com/video/98.html。