教学工作

首页 > 教学工作 >正文

《数据结构》教学大纲

作者:admin       发布时间: 2012/06/05 00:26     来源:     点击次数:

 

《数据结构》教学大纲

编写人:(王杰)

审核人:(两人以上)

一、本大纲适用专业

本大纲适用于计算机科学与技术本科专业。

二、编写本教学大纲的说明

(一)课程类别与教学任务

《数据结构》是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术专业的核心课程,是操作系统、数据库原理、编译原理、软件工程、人工智能等课程的基础。数据结构技术广泛应用于信息科学、系统工程、应用数学以及各种工程技术领域。通过本课程的学习,使学生了解软件分析阶段、设计阶段、编码阶段的若干基本问题,明确数据结构的内容包括抽象、实现和评价三个层次,即五个基本组成“要素”逻辑结构,存储结构、基本运算、算法及不同数据结构的比较与算法分析,初步具备分析问题、解决问题的能力,养成良好的程序设计风格。为学生在此领域中继续学习和研究打下坚实的基础。

(二)本课程的基本要求

1. 了解数据结构的基本概念和术语、掌握算法描述、算法分析方法。

2. 掌握线性表的抽象数据类型定义,线性表的逻辑结构和存储结构,及线性表的各种运算的实现技巧。

3. 掌握栈和队列这两种最常用数据结构的逻辑结构、存储结构,初步掌握栈和队列的运用技巧,应用方法。

4.掌握串的基本概念、串的基本操作和存储结构,理解串的模式匹配算法和改进的KMP算法。

5. 掌握数组的定义、顺序存储表示与实现,掌握几种特殊矩阵的存储方法,掌握广义表的概念及存储的实现。

6. 掌握树和二叉树的概念、存储结构,基本运算及其遍历,掌握哈夫曼树的概念和构造方法以及哈夫曼编码的概念。

7. 掌握图的有关概念、存储结构、遍历算法、生成树的求法以及拓扑排序的概念及求法。

8. 掌握静态查找表、动态查找表及哈希表的概念、存储结构、及实现方法。

9. 掌握各类排序的方法,算法的性能分析,应用特点。

(三)本课程的重点和难点

1. 数据结构的基本概念和术语,算法的时间复杂度分析

2. 线性表的逻辑结构、存储结构及线性表的各种运算的实现技巧;

3. 栈和队列的数据结构的逻辑结构、存储结构,运用技巧,应用方法

4. 串的基本概念、串的基本操作和存储结构,理解串的模式匹配算法和改进的KMP算法。

5. 数组的定义、顺序存储表示与实现,特殊矩阵的存储方法,广义表的概念及存储的实现

6. 树和二叉树的概念、存储结构,基本运算及树的遍历,哈夫曼树的概念和构造方法

7. 图的有关概念、存储结构、遍历算法、生成树的求法以及拓扑排序的概念及求法,最短路径的概念及其实现算法

8. 各类排序的方法,算法的性能分析。

(四)本课程与其他相关课程的联系和后续课程

先修课程:《高级程序设计语言》、《离散数学》

(五)学时、学时分配安排

本课程理论课时为54课时,18个课时的实践课时,具体学时安排见教学内容。

(六)本课程的教学方式及其它教学环节的安排

本课程采用通常的课堂教学方式,并注重理论与实践相结合的方法,即以教师的课堂教授为主,同时辅以学生课外实践,培养与提高学生对本学科的兴趣和研究能力。

三、教学基本内容和学时分配

1 绪论(3课时)

1.什么是数据结构

2.基本概念和术语

3.抽象数据类型的表示与实现

4.算法和算法分析

2 线性表(3课时)

1.线性表的类型和定义

2.线性表的顺序表示和实现

3.线性表的链式存储和实现

4. 一元多项式的表示及相加

3 栈和队列(6课时)

1.栈的定义及实现

2.栈的应用

3.队列的定义及实现

4.队列的应用

第四章串(3课时)

1. 串的基本概念、串的基本操作和存储结构

2. 串的模式匹配算法和改进的KMP算法

5 数组和广义表(3课时)

1.数组的类型定义

2.数组的顺序表示和实现

3.矩阵的压缩存储

6 树和二叉树(9课时)

1.树的定义和基本术语

2.二叉树

3.遍历二叉树和线索二叉树

4.树和森林

5.哈夫曼树及其应用

7 图(12课时)

1.图的定义和术语

2. 图的存储结构

3.图的遍历

4.图的连通性问题

5.有向无回图及其应用

6.最短路径

9 查找(6课时)

1. 静态查找表

2. 动态查找表

3. 哈希表

10 内部排序(9课时)

1.概述

2.插入排序

3.快速排序

4. 选择排序

5. 归并排序

6. 各类内部排序方法的比较讨论

上机实践及内容

1. 线性表操作(链表)——插入、删除、合并、查找(4课时)

2. 树和二叉树的应用 ——建立二叉树、遍历二叉树(4课时)

3. 图的应用 ——寻找两顶点间边数最少的一条路径(4课时)

4. 查找 ——静态、动态查找算法 (2课时)

5. 排序 ——数组、链表排序算法 (4课时)

四、教材与教学参考书

教材:

《数据结构》(C语言版) 严蔚敏 吴伟民 编著 清华大学出版社

教学参考书:

1. 《数据结构》 许卓群 高等教育出版社

2. 《数据结构 C++实现》 殷人昆 清华大学出版社

3. 《数据结构》 黄国瑜 叶乃菁 编著 清华大学出版社

4. 《数据结构算法设计指导》 胡学刚 编著 清华大学出版社

《数据结构》考试大纲

编写人:(王杰)

审核人:(两人以上)

一、考试对象

修完该课程所规定内容的计算机科学与技术专业本科学生。

二、考试目的

数据结构是计算机科学与技术及相关学科的重要基础,要求考生系统地理解数据结构的基本概念,掌握各种数据结构的定义和实现算法。要求考生具有抽象思维能力,逻辑推理能力,和综合运用所学的知识分析问题和解决问题的能力。

三、考试的内容

1 绪论

1.数据结构的基本概念,数据的逻辑结构、存储结构。

2.算法的定义、算法的基本特性以及算法分析的基本概念。

2 线性表

1.线性关系、线性表的定义,线性表的基本操作。

2.线性表的顺序存储结构与链式存储结构(包括单链表、循环链表和双向链表)的构造原理。

3.在以上两种存储结构上对线性表实施的最主要的操作(包括三种链表的建立、插入和删除、检索等)的算法设计。

3 栈和队列

1. 堆栈与队列的基本概念、基本操作。

2.堆栈与队列的顺序存储结构与链式存储结构的构造原理。

3.在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作对应的算法设计。

第四章串

1. 串的基本概念、串的基本操作和存储结构。

2. 串的模式匹配算法和改进的KMP算法。

5 数组和广义表

1.数组的概念、多维数组的实现。

2.对称矩阵和稀疏矩阵的压缩存储。

3.广义表的基本概念

6 树与二叉树

1.树的定义和性质。

2.二叉树的概念、性质和实现。

3.遍历二叉树和线索二叉树。

4.树和森林。

5.哈夫曼树及其应用。

7

1.图的定义,基本概念,图的分类,常用名词术语。

2. 图的邻接矩阵存储方法、邻接表存储方法的构造原理。

3.图的遍历操作。

4.最小生成树,最短路径,AOV网与拓扑排序。

9 查找

1. 各种查找算法。

10 内部排序

1.排序的基本概念,排序方法的分类。

2.插入排序法(含折半插入排序法)、选择排序法、冒泡排序法、快速排序法、堆排序法、归并排序。

3.各种排序方法排序的原理、规律和特点,各种排序算法的时空复杂度分析。

四、考试方法和考试时间

1.考试方法:笔试为主,平时实践考核为辅。

2.考试时间:120分钟。

五、评价标准

学生修完本课程并参加期末考试后,其成绩的评定为:期末考试成绩(60%+ 平时成绩(40%),其中期末考试成绩按统一的评分标准阅卷评定,平时成绩包括考勤、作业、课堂提问、平时实践等。

六、试卷设计的结构

1.难度比例

试题的难度等级分为简单、中等难度、较难题三个等级,大致比例为40:45:15

2.题型比例

客观性试题分为选择题、判断题,主观性试题分为简答题、综合应用题,其中主观性试题约占60%-70%左右。

版权所有 (C) BWIN·必赢(中国)唯一官方网站  2015  地址:湖南省衡阳市珠晖区bwin必赢唯一官方网站计算机楼
联系电话:0734-8484944 邮箱:jsjxyhynu@126.com  邮编:421002