数据结构与算法是计算机类专业的专业技术基础课程、核心课程。它所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其它课程,还是对从事软件工程的开发,都有着不可替代的作用。
通过本课程的学习,使学生学会分析研究计算机加工的数据的结构特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的基本操作算法,能利用相应知识对计算机中处理的数据选择或建立适当的描述模型;初步掌握算法的时间和空间分析的技术,并学习各种常用算法的基本思想和实现技术,并能对不同的算法和数据描述模型能进行比较和评价。
本课程首先综述数据、数据结构和抽象数据类型等基本概念;其次,从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;最后,从时间上进行定性和定量的分析和比较了各种查找和排序方法。
1、通过本课程的学习,使学生学会分析研究计算机加工的数据的结构特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的基本操作算法,能用相应知识对计算机中处理的数据选择或建立适当的描述模型;初步掌握算法的时间和空间分析的技术,并学习各种常用算法的基本思想和实现技术,并能对不同的算法和数据描述模型能进行比较和评价。
2、本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序代码结构清晰、正确易读,符合软件工程的规范。在高级程序设计语言课程所进行的结构化程序设计的初步训练的基础上,进一步培养学生的数据抽象能力和算法分析设计的实践能力,并能认识到解决计算机软件开发的方案有多种可选性。
3、了解计算机学科的知识组织结构,了解本专业的前沿发展现状和趋势,并能用所学知识解决计算机相应的复杂工程问题,对复杂的工程问题能通过分析研究相关文献,获得关键环节的初步解决方案。
课程成绩达到60分及以上者,成绩合格。总评达到85分及以上,成绩优秀。
《计算机程序设计》、《离散数学》
(1)邹永林、周蓓、唐晓阳 主编. 数据结构与算法 . 清华大学出版社,2015
(2)邹永林、周蓓、唐晓阳 主编. 数据结构与算法习题解析与实验指导,清华大学出版社,2015
(3)严蔚敏等 主编. 数据结构(C语言版). 清华大学出版社,2007
(4)马睿等 主编.《数据结构》(C语言版),北京邮电大学出版社,2009
(5)李春葆 主编.《数据结构习题与解析》(C语言篇),清华大学出版社,2000