数据结构教学设计大纲_第1页
数据结构教学设计大纲_第2页
数据结构教学设计大纲_第3页
数据结构教学设计大纲_第4页
数据结构教学设计大纲_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX师范学院大学本科专业教学大纲

中文课程名称:数据结构

英文课程名称:DataStructures

适用专业:信息管理与信息系统

制定单位:商学院

执笔人:

审核人:

单位负责人:

制定时间:2017-2-10

XX师范学院教务处

—O—t年一月

《数据结构》课程教学大纲

一'课程基本信息

(一)课程代码及课程名称

L课程代码:06151090

2.课程名称(中/英文):数据结构/DataStructures

(二)课程类别及课程性质

专业教育必修课程

(三)学时及学分:

总学时数:64;总学分数:3。

其中,讲授学时:32,实践(实验)学时:32。

(四)适用专业及开设学期

适用专业:信息管理与信息系统(本科)

开设学期:第二学期

(五)先修课程与后续课程

先修课程:大学计算机基础、高等数学、C语言程序设计

后续课程:数据库原理与应用、管理信息系统分析与设计•、管理信息系统、Java

程序设计(高级)

二'课程简介

“数据结构”是信息管理与信息系统专业一门重点专业基础课程,也是学科专业核

心专业基础课程之一,属于专业学位必修课程。本课程的教学任务是针对大量的信息处

理对象,介绍对象信息与数据表示的各种抽象的、基本的逻辑结构及其上的基本运算操

作。通过研究各种基本数据结构内在的逻辑关系和它们在计算机中的存储表示方式,初

步建立数据结构上基本运算操作的正确性概念,同时.,结合各种典型问题讨论其上的各

种基本运算操作及其基本算法,讲授各种数据结构的特点、适用范围,以及对一些基本

算法效率的定性和定量分析方法,为后续课程提供必要的数据结构基础。此外,配合实

验课程的教学中,学生应理论联系实际,理论指导实践,通过规范地完成一系列数据结

构实验进一步巩固所学的相关书本知识,在知识、能力、素质上得到进一步的提高。

三'教学目的与基本要求

(-)该课程教学目的与专业培养要求对应关系矩阵

\兽养要求

培养培养培养培养培养培养培养培养焙源

培养

要求要求要求要求要求要求要求要求要求

要求

课程名123456789

数据结构•■◎••◎••◎O

说明:表格要清晰展示该课程与每项培养要求达成的关联度情况,关联度强的用“•”标识,关联度中等的用“◎”标

识,关联度弱的用标识;每门课程与4-8项(底线为总培养要求的50$)培养要求相关联。

(二)教学目的

《数据结构A》在计算机科学中是一门综合性的专业基础课,不仅是一般程序设计

的基础,而且是设计和实现操作系统、数据库系统、编译程序及其它系统程序和大型应

用程序的重要基础。本课程讨论各种数据组织中的数据的逻辑结构、存储结构以及有关

操作的算法。目的是使学生学会分析研究计算机所要加工处理的数据的特征,掌握组织

数据、存储数据和处理数据的基本方法,并加强在实际应用中选择合适的数据结构和设

计相应算法的训练,课程的具体教学目的如下:

数据结构与算法是计算机科学教育中的一门核心课程。数据结构与算法主要讨论在

应用计算机解决问题时,如何有效地组织数据、表示数据和处理数据,以及如何设计

正确的算法和评价算法的效率。课程介绍常见的数据结构及其应用,常用的数据处理技

术和算法,以及算法效率估算的基本技术。通过本课程的学习,学生应该掌握常用的

数据结构,掌握合理地组织数据结构和表示数据的方法,掌握有效地处理数据的方法,

掌握评价算法性能的基本方法。通过本课程的训练,进一步提高学生的数据抽象能力;

提高学生设计高质量程序的能力。本课程也为学生学习操作系统、编译原理和数据库等

后续课程奠定基础。

1.知识方面

1.1理解数据结构的一些基本概念、理解并掌握算法的描述方法,理解并掌握算法

的时间复杂度和空间复杂度的概念以及分析方法。

1.2理解各种数据结构的基本概念,深刻理解各种数据结构的逻辑特性,理解并熟

练掌握各种数据结构的存储表示方法,理解并掌握在各种数据结构基础上的算法设计与

描述,并理解和掌握对算法性能进行分析的方法以及分析结果。

L3理解查找、排序的基本概念,掌握各种查找、排序方法及其算法描述和性能分

析方法和分析结果。

2.能力与素质方面

2.1具备依据工程实际问题的需求合理地组织数据,并在计算机中有效地存储数据

的能力。

2.2具备为解决工程实际问题进行算法设计与分析的能力。

2.3具备将算法通过具体的编程语言加以实现的能力。

(三)教学要求:

通过本课程的学习,在基础方面,要求学生能够掌握常用数据结构的基本概念及其

不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,

并对算法设计的方式和技巧有所体会。总言之,使应用者较全面的掌握各种常用的数据

结构,提高运用数据结构解决实际问题的能力。

1.掌握数据结构的概念及术语。

2.掌握线性表(栈、队列)的存储结构(顺序和链式存储)、算法描述及应用。

3.掌握数组的顺序存储和特殊矩阵的压缩存储。

4.掌握树的基本概念和术语,掌握二叉树的基本性质和特点、存储结构及算法描述、

二叉树的遍历、树、森林与二叉树的转换。掌握最优二叉树(哈夫曼树)的特点及应用。

5.掌握图的基本概念和术语、存储结构(邻接矩阵、邻接表、十字链表、邻接多重

表)、图的遍历、图的连通性(最小生成树)。

6.掌握查找的基本概念、基于线性表的查找方法(顺序、折半)。

7.掌握插入类排序(直接、折半、表、希尔等插入排序)、交换类排序(冒泡、快速

排序)。

四、教学内容

(一)绪论(共4学时)

(一)教学目的和要求

介绍数据结构课程的研究对象,基本术语,掌握算法的要领,描述算法的类语

言。了解数据结构的发展概况及其在计算机中的地位。

(二)教学重点与难点

教学重点:

1、熟悉各名词、术语的含义,特别是数据的逻辑结构和存储结构之间的关系。分

清哪些是逻辑结构的性质,哪些是存储结构的性质;

2、了解抽象数据类型的定义、表示和实现方法;

3、理解算法五个要素的确切含义:①动态有穷性(能执行结束);②确定性(对

于相同的输入执行相同的路径);③有输入;④有输出;⑤可行性(用以描述算法的操

作都是足够基本的);

4、掌握计算语句频度和估算算法时间复杂度的方法。

教学难点:

1、掌握数据结构的意义及数据结构的基本内容;

2、掌握数据结构及数据、数据元素等相关概念;

3、掌握算法描述的方法;

4、算法时间复杂度的计算。

(三)教学内容

1、什么是数据结构

2、基本概念和术语

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

4、算法和算法分析

(-)线性表(共8学时)

(-)教学目的和要求

掌握线性表的逻辑结构、顺序存储结构和链式存储结构。掌握在线性表上实现

基本运算的算法。

(二)教学重点与难点

教学重点:

1、线性表的定义及逻辑上的特点;

2、顺序表上插入、删除和定位运算的实现;

3、单链表的结构特点及类型说明;

4、头指针和头结点的作用及区别;指针操作;

5、定位、删除、插入运算在单链表上的实现;

6、循环链表、双链表的结构特点;及其删除与插入运算的实现。

教学难点:

1、线性表与线性结构的联系与区别;

2、线性表的顺序存储结构及其运算;

3、头结点在链表中的作用和指针的操作;

4、单链表存储结构定义,删除、插入运算中的指针操作顺序;

5、单链表的基本运算的实现;

6、循环链表、双链表上指针的操作顺序及其相关运算。

(三)教学内容

1、线性表的类型定义

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

3、线性表的链式表示和实现

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

(三)栈和队列(共8学时)

(-)教学目的和要求

掌握栈和队列的逻辑结构定义,掌握在两种存储结构上如何实现栈和队列的基

本运算,掌握栈在程序设计中的应用。

(二)教学重点与难点

教学重点:

1、栈的定义及逻辑特点;栈上的基本运算;

2、栈的顺序存储结构及运算实现;链式存储结构;

3、入栈、出栈等运算在链栈上的实现;

4、队列的定义及逻辑特点;队列上的基本运算;

5、队列的顺序存储结构及其上的运算实现;

6、队列的链式存储结构;

7、入队、出队等运算在链队列上的实现。

教学难点:

1、顺序栈基本运算的实现;

2、顺序栈的溢出判断条件;

3、栈的应用;

4、循环队列的队空、队满判断条件;循环队列上的插入、删除操作。

(三)教学内容

1、栈的类型定义

2、栈的应用举例

3、栈与递归的实现

4、队列的类型定义

(四)串和数组(共8学时)

(-)教学目的和要求

掌握字符串的存储结构,以及字符串的操作算法,掌握数组的顺序存储和特殊

矩阵的压缩存储。

(-)教学重点与难点

教学重点:

1、熟悉串的定义及串的基本操作;

2、串的两种存储方式;

3、字符串的运算;

4、串的模式匹配算法。

5、多维组的逻辑结构,两种顺序存储方式;

6、计算给定元素在存储区中的地址;

7、对称矩阵、三角矩阵的压缩存储方式;

8、计算给定元素在存储区中的地址;

9、稀疏矩阵的三元组表表示方法;

教学难点:

1、串的基本运算的综合应用;

2、串的模式匹配算法。

3、了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计

算方法;

4、稀疏矩阵的压缩存储表示下的运算的实现;

5、了解稀疏矩阵的三类压缩存储方法的特点和适用范围,领会以三元组表示稀疏

矩阵时进行矩阵运算采用的处理方法;

(三)教学内容

1、栈的类型定义

2、栈的应用举例

3、栈与递归的实现

4、队列的类型定义

5、数组的定义

6、数组的顺序表示和实现

7、矩阵的压缩存储

(五)树和二叉树(共12学时)

(一)教学目的和要求

掌握树的基本概念和术语,掌握二叉树的基本性质和特点、存储结构及算法描述、

二叉树的遍历、树、森林与二叉树的转换。掌握最优二叉树(哈夫曼树)的特点及应用。

(二)教学重点与难点

教学重点:

1、二叉树的定义、性质、逻辑特点及五种基本形态、基本运算;

2、二叉树的链式存储结构、顺序存储结构及其类型说明;

3、二叉树链式存储结构的组织方式;

4、二叉树的三种遍历方法及其算法,以遍历为基础在二叉树上实现的几种运算;

5、哈夫曼树和哈夫曼算法;森林与二叉树的转换。

教学难点:

1、二叉树的递归定义;

2、二叉树链式存储结构的组织方式;

3、三种遍历的主要区别;二叉树上的复杂运算

4、森林与二叉树的转换;

5、哈夫曼算法及其应用。

(三)教学内容

1、树的定义和基本术语

2、二叉树

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

4、树和森林

5、回溯法与树的遍历

6、赫夫曼树及其应用

(六)图(共8学时)

(一)教学目的和要求

掌握图的基本概念和术语、存储结构(邻接矩阵、邻接表、十字链表、邻接多重表)、

图的遍历、图的连通性(最小生成树)。理解拓扑排序及关键路径和最短路径的应用及

意义。

(二)教学重点与难点

教学重点:

1、理解图的定义、术语及其含义,各种图的邻接矩阵表示法及其类型说明;

2、理解并掌握图的按深度优先搜索遍历方法和按广度优先搜索遍历方法;

3、领会生成树和最小生成树的概念;

4、掌握由Prim算法思想构造最小生成树按Prim算法思想;

5、掌握拓扑序列和拓扑排序的概念,拓扑排序、关键路径、最短路径的算法思想。

教学难点:

1、正确理解与区别图的常用术语;

2、区别图的两种存储结构的不同点及其应用场合;

3、关键路径的算法思想;最短路径的算法思想。

(三)教学内容

1、图的定义和术语

2、图的存储结构

3、图的遍历

4、图的连通性问题

5、有向无环图及其应用

6、最短路径

(七)查找(共8学时)

(-)教学目的和要求

掌握查找的基本概念、基于线性表的查找方法(顺序、折半)。理解基于树的查找方

法(二叉排序树、平衡二排序叉树)。

(二)教学重点与难点

教学重点:

1、查找表的基本概念及查找原理;顺序存储结构、顺序表及其类型说明;

2、查找运算在查找表和有序表上的实现;

3、二叉排序树的定义、性质及各结点间的键值关系,查找算法和基本思想;

4、平衡二叉排序树的概念;B-树和B+树的概念;

5、散列表及散列存储和散列查找的基本思想;各种散列表的组织、解决冲突的方

法;

教学难点:

1、理解查找表的逻辑结构是集合,它的运算以查找为核心;

2、二叉排序树上的插入算法;平衡二叉树的旋转平衡算法;

3、散列表上的有关算法。

(三)教学内容

1、静态查找表

2、动态查找表

3、哈希表

(八)排序(共8学时)

(-)教学目的和要求

掌握插入类排序(直接、折半、表、希尔等插入排序)、交换类排序(冒泡、快速

排序)。理解选择类排序、归并类排序和基数类排序。

(二)教学重点与难点

教学重点:

1、排序基本概念及内排序和外排序、稳定排序和非稳定排序的区别;

2、插入排序、冒泡排序、快速排序、直接选择排序、堆排序的基本思想、基本步

骤和算法;

3、归并排序的思想;两个有序文件合并的方法和算法;

4、二路归并排序的算法和时空性能;

教学难点:

1、快速排序算法;

2、堆排序方法。

(三)教学内容

1、插入排序

2、快速排序

3、选择排序

4、归并排序

5、基数排序

6、各种内部排序方法的比较讨论

五、教学时数分配

《数据结构》课程教学时数分配表

总学时:64学分:3

学时讲授实验实践讨论、习题

章次章标题名称

小计学时学时学时课等学时

第一章绪论422

第二章线性表8341

第二早栈和队列8341

第四章串和数组844

第五章树和二叉树12462

第六章图8341

第七章查找8341

第八章排序8341

六'实验内容与学时分配

《数据结构》课程实验教学一览表

实验类型(演示、

学开

序号项目名称内容提要验证、综合、设计

时放

等)

一元二次方程

1复习函数定义,函数调用和参数传递及相关知识。2验证否

求解

2线性表的操作建立顺序表及链表,并完成查找、插入、删除操作。4验证否

栈与队列的应

3利用栈完成括号匹配,利用队列模拟病人看病。4设计否

利用二叉链表方法建立二叉树,实现二义树的前、中、

后序三种遍历算法。并运用遍历算法实现二叉树的其

二叉树的遍历

410验证否

他操作,如计算二叉树结点个数、叶子结点个数、二

及应用

义树的高度等。

查找算法设计

5选择两种查找算法实现查找并比较。6验证否

与实现

排序算法设计

6选择两种排序算法实现排序并比较。6验证否

与实现

七'本课程的实践环节

八'主要的教学方法与教学手段

L课程与教学方法、教学手段对应关系矩阵

对应的教学方式方法

实研课外

项技个课

课程

讲启讨案验究阅读

目能小组别程

名称

授发论例室与及门........

教训教学教作

法式法法实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论