《数据结构》课程教学大纲
、
课程中文名称: 数据结构。
课程英文名称:Data Structures。
课程类别:专业基础课 必修。
课程学分数:3(16学时为1学分)
课程学时数:讲课32学时,上机16学时。
授课对象:计算机科学与技术专业。
本课程的前导课程:高级语言程序设计。
本课程的后续课程:操作系统、数据库应用技术等。
一、教学目的
数据结构课程是计算机专业一门重要的专业基础课。通过本课程的学习,使得学生从数据逻辑结构、存储结构和基本运算算法设计三个层面掌握基本的数据组织和数据处理方法,能够从问题出发设计面向数据结构的求解算法,具有基本的算法时间复杂度和空间复杂度分析能力,为后续课程如操作系统等课程学习打下较好的基础。
二、教学要求
通过讲授和上机实验,使学生领会数据结构的基本原理,掌握线性表、栈和队列、串、数组和稀疏矩阵、树和二叉树、图、查找和排序等基本数据结构及其相关算法设计方法,具备较好的数据组织、数据存储和数据处理能力。
三、授课课时安排(48学时)
知识单元 |
涵盖知识点情况* |
知识点学时 |
小计 |
1、绪论 |
1.1 什么是数据结构 1.2 算法及其描述 1.3 Python简介 |
1 |
2 |
1.4 算法分析: ①算法时间复杂度分析;②算法空间复杂度分析 |
1 |
||
2、线性表 |
2.1 线性表的定义 2.2 线性表的顺序存储结构: ①顺序表以及线性表基本运算算法在顺序表中的实现;②顺序表的应用算法设计示例 |
2 |
4 |
2.3 线性表的链式存储结构: ①单链表以及线性表基本运算算法在单链表中的实现;②单链表的应用算法设计示例;③双链表以及线性表基本运算算法在双链表中的实现;④双链表的应用算法设计示例 |
2 |
||
3、栈和队列 |
3.1 栈: ①栈的定义;②顺序栈及其实现;③顺序栈的应用算法设计示例;④链栈及其实现;⑤链栈的应用算法设计示例 |
2 |
4 |
3.2 队列: ①队列的定义;②顺序队及其实现;③顺序队的应用算法设计示例;④链队及其实现;⑤链队的应用算法设计示例 |
2 |
||
4、串和数组 |
4.1 串 ①串的定义;②串的存储结构—顺序串和链串 |
1 |
2 |
4.2 数组: ①数组的基本概念;②特殊矩阵的压缩存储 |
1 |
||
5、树和二叉树 |
6.1 树: ①树的定义和逻辑表示;②树的基本术语;③树的性质;④树的基本运算;⑤树的存储结构 |
1 |
6 |
6.2 二叉树: ①二叉树的概念;②二叉树的性质;③二叉树存储结构 |
1 |
||
6.3 二叉树先序、中序和后序遍历: ①二叉树遍历的概念;②先序、中序和后序遍历递归算法 |
1 |
||
6.4 二叉树的层次遍历: ①层次遍历过程;②层次遍历算法设计 |
1 |
||
6.5 二叉树的构造 6.7 哈夫曼树 6.8 二叉树与树、森林之间的转换 |
2 |
||
6、图 |
7.1 图的基本概念 7.2 图的存储结构: ①邻接矩阵;②邻接表 |
1 |
5 |
7.3 图的遍历: ①图遍历的概念;②深度优先遍历& |