数据结构
Data Structure
课程代码:
学 时 数:64(讲课 50 实验 14 研讨 0 实习实践 1 周) 学 分 数:3、4
课程类别:学科基础课 开课学期:4
主讲教师:
编写日期: 2011 年 7 月 1 日
一、课程性质和目的
课程性质:数据结构 A 是计算机科学与技术、数字媒体艺术、信息管理与信息系统专
业的一门重要学科基础课,是必修课。
教学目的:通过本课程的学习,一方面,使学生学会分析研究计算机加工的数据结构
的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了
解对算法的时间分析和空间分析技术。另一方面,通过对本课程算法设计和上机实践的训
练,还应培养学生的数据抽象能力和程序设计的能力。
二、课程教学内容、学时分配和课程教学基本要求
1. 绪论(理论 2 学时)
教学内容:
(1) 数据结构的一些基本概念:数据、数据元素、数据的逻辑结构、物理结构等。
(2) 抽象数据类型的表示和实现。
(3) 算法的概念和特性。
(4) 算法时间复杂度和空间复杂度的分析。
基本要求:
掌握数据结构的基本概念,了解抽象数据类型,掌握算法时间复杂度和空间复杂度的
分析方法。
2. 线性表 (理论 8 学时,实验 4 学时)
教学内容:
(1) 线性表的类型定义。
(2) 线性表的顺序表示和实现。
(3) 线性表的链式表示和实现。
(4) 线性表的应用,包括无序表和有序表的合并、多项式的加法运算等。
基本要求:
理解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关
系的两类不同的存储结构是顺序存储结构(顺序表)和链式存储结构(链表)。熟练掌握
这两类存储结构的描述方法,掌握链表中的头结点、头指针和首元结点的区别及循环链表
双向链表的特点等。掌握顺序表的查找、插入和删除算法,掌握链表的查找、插入和删除
算法。能够从时间和空间复杂度的角度比较两种存储结构的不同特点及其适用场合。掌握
无序表和有序表的合并算法,了解多项式的加法运算。
实验:
实验内容:单链表的基本操作。实验要求:以单链表形式创建一个学生表或图书表,
并能实现相关的查找、插入和删除等算法。