本课程属于计算机科学与技术相关专业本科生的主干课、专业基础课程,也是本专业的学位课程。通过本课程的学习,主要达到以下目标:
1、 使学生掌握线性表、栈、队列、树、二叉树、图等常见的数据结构的基本概念、特点、存储表示、基本操作的实现及应用;
2、 使学生掌握算法的设计方法,并学会对算法进行性能分析,进而设计出更高效的算法;
3、 使学生掌握计算机中最常见的查找、排序等操作的算法原理、实现方法,并分析比较各个算法的性能;
4、培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,为后续课程的学习打下良好的理论基础和实践基础。
掌握数据结构的基本概念、基本原理和基本方法;
掌握数据的逻辑结构、存储结构及基本操作的实现;
能够对算法进行基本的时间复杂度和空间复杂度的分析;
能够运用数据结构的基本原理和方法进行问题的分析与求解,具备设计与实现算法的能力。
1. 一门程序设计语言的基础,最好是面向对象C++语言程序设计,需要的相关基础知识包括:数据的表示和存储,结构化和面向对象的程序设计能力等。
2. 离散数学的基础,要求学生具有一定的数理逻辑、图论等相关知识。
Robert L.Kruse Data Structures and Program Design in C++(影印版),高等教育出版社2014
严蔚敏,吴伟民. 数据结构(C ++语言版)清华大学出版社.2013