预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《数据结构》课程教学大纲DataStructure执笔人:编写日期:一、课程基本信息1.课程编号:2.课程性质/类别:必修课/专业主干课3.学时/学分:48学时(另实验16学时)/4学分4.适用专业:计算机科学与技术、软件工程、网络工程、信息管理与信息系统等专业二、课程教学目标及学生应达到的能力数据结构课程是计算机相关专业的专业基础课、必修课程主要介绍用计算机解决一系列问题特别是非数值信息处理问题时所用的各种组织数据的方法、存储数据结构的方法以及在各种结构上执行操作的算法。通过本课程的学习要求学生掌握各种数据结构的特点、存储表示、运算方法以及在计算机科学中最基本的应用培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力培养学生分析问题、解决问题的能力并为后续课程的学习打下良好的理论基础和实践基础。三、课程教学内容与基本要求(一)绪论(3学时)1.主要内容:(1)介绍什么是数据结构;(2)基本概念和术语:数据、数据元素、数据对象以及数据结构的定义、逻辑结构、物理结构(理解)数据类型、抽象数据类型;(3)抽象数据类型的表示与实现;(4)算法和算法分析:算法的概念、算法设计的要求以及算法效率的度量。2.基本要求(1)了解学习数据结构的重要性;(2)掌握数据结构的定义及相关概念和术语;(3)了解抽象数据类型的定义、表示与实现方法;(4)理解算法的概念、特点并掌握度量其效率的基本方法。3.自学内容:类C语言的书写规范。(二)线性表(6学时)1.主要内容:(1)线性表的抽象数据类型定义和相关概念:数据项、记录、文件等;(2)线性表顺序存储表示和基本操作的实现;(3)线性表的链式存储表示和基本操作的实现;(4)稀疏多项式的抽象数据类型定义、表示和加法的实现。2.基本要求(1)掌握线性表的定义和特点;(2)熟练掌握线性表的顺序存储表示和插入、删除、查找等实现算法;(3)熟练掌握单链表、循环链表、双向链表三种链表的表示以及单链表的查找、插入、删除、创建等实现算法。3.自学内容:静态链表。(三)栈和队列(5学时)1.主要内容:(1)栈和队列的结构特性和抽象数据类型定义;(2)栈和队列的顺序存储表示和实现;(3)栈和队列的链式存储表示和实现;(4)栈和队列在程序设计中的应用。2.基本要求(1)掌握栈和队列两种抽象数据类型的特点;(2)掌握栈的两种存储表示和实现特别注意栈满栈空的条件;(3)掌握队列的两种存储表示和实现特别注意队满队空的条件;(4)了解递归算法与栈的关系。3.自学内容:链栈离散事件模拟(四)串(3学时)1.主要内容:(1)串的抽象数据类型定义;(2)串的表示和实现:定长顺序存储结构和堆分配存储结构;(3)串的各种基本操作的实现及其应用;(4)串的模式匹配操作。2.基本要求(1)熟悉串的一些基本操作的定义并能利用基本操作实现串的其它操作;(2)掌握串的定长顺序存储结构以及基本操作的实现;(3)掌握串的堆分配存储结构以及基本操作的实现;(4)掌握串的简单模式匹配算法理解KMP算法。3.自学内容:串操作的应用实例。(五)数组和广义表(4学时)1.主要内容:(1)数组的抽象数据类型定义及其顺序表示和实现;(2)特殊矩阵和稀疏矩阵的压缩存储;(3)广义表的抽象数据类型定义和存储结构。2.基本要求(1)了解数组的两种存储表示方法并掌握数组在以行为主的存储结构中的地址计算方法;(2)掌握对特殊矩阵进行压缩存储时的下标变换公式;(3)熟悉稀疏矩阵的三元组顺序表存储结构下的一般转置和快速转置算法;了解十字链表等存储结构;(4)掌握广义表的结构特点、取表头表尾操作及其存储表示方法。3.自学内容:采用十字链表存储结构创建稀疏矩阵。(六)树和二叉树(