数据结构 教学大纲

合集下载

《数据结构》课程教学大纲(三套)

《数据结构》课程教学大纲(三套)

数据结构课程教学大纲(三套)《数据结构》课程教学大纲(36/36 课时)一、课程的性质和任务数据结构是计算机及应用专业中一门重要的专业基础课程,在计算机软件的各个领域中均会使用到数据结构的有关知识。

当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打开厚实的基础。

因此,数据结构课程在计算机应用专业中具有举足轻重的作用。

本课程的任务是:在基础方面,要求学员掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。

总言之,使应用者较全面的掌握各种常用的数据结构,提高运用数据结构解决实际问题的能力。

二、课程的基本要求本课程的教学基本要求如下:本课程要求理论必须与上机实践操作相结合,多做题和调试算法,实现算法。

实践项目只利用课堂时间是不够的,必须提前布置给学生。

通过本课程的学习与实践,学生应达到:1、掌握数据结构的基本概念和基本理论;2、熟练掌握顺序表、链表、队列、栈、树以及二叉树、图等基本数据结构的设计和分析;3、熟练地掌握常用算法(递归、遍历、查找、排序)的知识;4、能对所求解的问题进行分析,抽象出逻辑结构,选择合适的存储结构定义所需的运算,设计相应的算法;5、对算法进行分析和评价。

三、教学内容(一)理论教学(二)实践环节四、课时分配《数据结构》课程共4学分,课内72学时,其中理论课36学时,上机36学时。

五、大纲说明本课程必须理论与上机实践操作相结合,并要教、学、练相结合,讲清基本概念,指出知识要点、重点和难点,并通过实例分析解决算法难点;要求学生认真预习、认真听课、认真思索、认真做实验, 通过对算法的编程实现来提高学生 由于内容多、 难度大, 要特别注重精讲多练, 实践项目一定 要提前布置给学生, 调动学生的主观能动性,鼓励学生多提 问题、共同探讨和解决问题。

《数据结构》教学大纲.doc

《数据结构》教学大纲.doc

业分时时毗课学适学周总《数据结构》教学大纲:计算机信息管理、电子简务:4:68 (理论52 +实践16)一、课程的性质与任务《数据结构》是计算机应用专业的一门专业基础课,主要任务是讨论各种数据纟I[织中的数据逻辑结构,存储结构以及有关操作的算法。

目的是使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。

另一方面,通过对本课程算法设计和上机实践的训练,述应培养学生的数据抽象能力和程序设计的能力。

二、课程的基本要求先行课:《计算机应用基础》,《C语言程序设计》或《C++语言程序设计》。

三、课程内容大纲内容(按章节详细列出)教学目的和要求:经过一学期的学习,掌握数据结构的一些基础知识和基本要点,掌握重要数据结构的概念、使用方法及实现技术,使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,学会做简单的算法分析,包括算法的吋间代价和空间代价,为后续计算机专业课程的学习打下坚实的基础。

《数据结构》是实践性很强的课程,不仅要学习基本理论知识,更要注重丄机实践,通过上机实践验证算法的止确性,掌握和巩固所学理论知识,培养学生的数据抽象能力和程序设计的能力。

第一章绪论教学目的和要求:掌握数据结构的基本概念,了解抽彖数据类型,了解算法时间复杂度和空间复杂度的分析,了解算法的描述方法。

1.1概念和术语1.2算法描述与分析第二章线性表教学目的和要求:了解线性衣的基本概念和类型定义,熟练掌握顺序存储的线性表和单链表的算法设计及其程序实现;掌握循环链表和双向链表的操作。

2」线性表的基本概念和类型定义2.2线性表的顺序存储结构2.3顺序表上的基本运算2.4线性表的链接存储结构2.4.1单链表的杳找、插入和删除2.4.2循环链表2.4.3双向链表2.4.4线性表顺序存储结构和链式存储结构2.5应用举例注:建议将字符串处理作例子加入教学内容。

《数据结构》实验教学大纲

《数据结构》实验教学大纲

《数据结构》实验教学大纲
1、实验背景:
数据结构是计算机科学的基本理论,也是计算机程序设计必备知识,
是计算机应用和算法分析的基础。

实验教学是对学生知识的指导,是计算
机程序设计实践的重要组成部分。

它是学生掌握程序设计理论知识,发展
良好的分析思维能力,培养解决问题的能力的重要途径。

本实验教学大纲
是以C语言为编程语言,以实验室的应用为主要训练,以有关数据结构课
程实验内容为主要内容,主要包括数组、线性表、栈与队列、字符串、树、图等知识,以及基于C语言的实践性实验项目,旨在让学生更深入地了解
数据结构,进而加深对电脑程序设计的理解,从而掌握计算机软件设计开
发的知识、技能和能力。

2、实验任务:
1)在学习原理部分,学习基本的数据结构知识,掌握数组、线性表、栈与队列、字符串、树、图等基本数据结构,了解数据结构的存储结构及
其基本操作;
2)在实践部分,基于C语言,让学生掌握实验的设计思路,学习程
序的设计和编码,在解决实际问题中加深对基本数据结构基础理论的理解。

数据结构 教学大纲

数据结构 教学大纲

数据结构教学大纲数据结构教学大纲导言:数据结构是计算机科学中的重要基础知识,它涉及到如何组织和存储数据以及如何操作和管理数据的方法和技术。

在计算机科学领域,数据结构是构建算法和设计高效程序的基石。

本文将探讨数据结构教学的重要性、教学目标和内容以及教学方法和评估方式。

一、教学目标数据结构教学的目标是培养学生的数据抽象和问题解决能力,使他们能够理解和应用不同的数据结构,设计和实现高效的算法,并能够分析和评估算法的时间和空间复杂度。

具体的教学目标包括:1. 理解数据结构的基本概念和原理,包括数组、链表、栈、队列、树、图等;2. 掌握不同数据结构的存储和操作方法,包括插入、删除、查找等基本操作;3. 熟悉常见的算法和数据结构,如排序、搜索、哈希表等;4. 能够分析和评估算法的时间和空间复杂度,理解算法的效率和优化;5. 能够应用数据结构解决实际问题,如字符串匹配、图的遍历等。

二、教学内容数据结构教学的内容应包括以下几个方面:1. 基本数据结构:介绍数组、链表、栈、队列等基本数据结构的定义、特点和应用场景,并讲解它们的存储和操作方法;2. 树和图:介绍树和图的基本概念和性质,包括二叉树、平衡树、图的表示方法等,并讲解它们的遍历、搜索和最短路径等算法;3. 排序和搜索:介绍常见的排序算法,如冒泡排序、插入排序、快速排序等,并讲解它们的时间和空间复杂度。

同时,介绍线性搜索和二分搜索等常见的搜索算法;4. 哈希表:介绍哈希表的原理和应用,包括哈希函数的设计和冲突解决方法;5. 高级数据结构:介绍堆、图的高级算法、红黑树等高级数据结构和算法,并讲解它们的应用和性能分析。

三、教学方法为了提高数据结构教学的效果,可以采用以下教学方法:1. 理论讲解:通过讲解基本概念、原理和算法,帮助学生建立起对数据结构的整体认识和理解;2. 实例演示:通过实际的案例和实例,展示数据结构的应用和解决问题的能力;3. 编程实践:通过编写代码实现不同的数据结构和算法,提高学生的实际操作能力;4. 小组讨论:组织学生进行小组讨论,提高学生的合作和交流能力,同时加深对数据结构的理解;5. 实践项目:组织学生进行实践项目,如实现一个简单的搜索引擎或图像处理程序,以提升学生的综合能力和创新精神。

数据结构_48学时教学大纲

数据结构_48学时教学大纲

数据结构_48学时教学大纲一、课程概述(2学时)1.1课程名称:数据结构1.2学时安排:总学时48学时1.3先修知识:计算机基础知识、C++编程基础1.4课程性质:必修1.5主要教材:《数据结构与算法分析--C语言描述》1.6教学目标:通过本课程的学习,使学生掌握数据结构的基本概念、基本算法和设计原理,培养学生分析和解决实际问题的能力。

二、课程内容和学时安排(38学时)2.1线性表(6学时)2.1.1线性表的定义和基本操作2.1.2顺序表和链表的实现与应用2.1.3线性表的应用实例分析2.2栈与队列(5学时)2.2.1栈和队列的定义和基本操作2.2.2栈和队列的顺序存储结构和链式存储结构2.2.3栈和队列的应用实例分析2.3树与二叉树(8学时)2.3.1树的基本概念和性质2.3.2二叉树的定义和基本操作2.3.3二叉树的遍历算法2.3.4二叉树的存储结构和实现2.3.5树和二叉树的应用实例分析2.4图(8学时)2.4.1图的基本概念和性质2.4.2图的存储结构和基本操作2.4.3图的遍历算法2.4.4最小生成树算法2.4.5最短路径算法2.4.6图的应用实例分析2.5查找与排序(7学时)2.5.1查找算法的分类和基本原理2.5.2顺序查找和二分查找2.5.3哈希查找2.5.4排序算法的分类和基本原理2.5.5插入排序、选择排序和冒泡排序2.5.6快速排序和归并排序2.5.7查找和排序的应用实例分析三、教学方法和学时分配(6学时)3.1教学方法:课堂讲授、案例分析、编程实践3.2学时分配:理论课32学时,实践课16学时四、考核方式(2学时)4.1考核方式:考试占70%,平时作业和实验占30%4.2考核内容:理论知识和实践能力的综合考核五、教学资源和参考资料(2学时)5.1教学资源:计算机实验室、项目演示设备、教学软件等5.2参考资料:《数据结构与算法分析--C语言描述》、相关网络资源六、其他事项(2学时)。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲一、课程简介《数据结构》是计算机科学与技术相关专业的基础课程之一。

本课程旨在通过理论与实践相结合的方式,培养学生具备良好的数据结构基础、灵活运用和设计数据结构的能力,并通过算法分析、问题求解等方式培养学生的编程思维和创新能力。

二、教学目标1. 理解数据结构的基本概念和原理,包括栈、队列、链表、树、图等基本数据结构的应用场景与实现。

2. 掌握数据结构的基本算法与操作,包括插入、删除、查找、排序等常用操作的实现与分析。

3. 培养学生良好的编程实践能力,能够灵活运用不同的数据结构解决实际问题。

4. 培养学生团队合作精神和沟通能力,能够与他人合作设计和实现复杂的数据结构与算法。

三、教学内容1. 数据结构基础1.1 数据结构与算法的关系1.2 抽象数据类型与数据结构1.3 算法复杂度与评估方法2. 线性结构2.1 线性表的基本概念与实现2.2 栈与队列的定义与应用2.3 数组与链表的对比与选择3. 树形结构3.1 树的基本概念与性质3.2 二叉树的存储与遍历3.3 二叉搜索树与平衡树的应用4. 图结构4.1 图的基本概念与表示方法4.2 图的遍历与连通性算法4.3 最短路径与最小生成树算法5. 排序与查找5.1 常用排序算法的实现与性能分析 5.2 二分查找算法与应用5.3 哈希表的概念与应用四、教学方法1. 理论讲解:通过授课方式向学生讲解数据结构的基本概念、原理和算法分析方法。

2. 实验实践:通过编写程序实践,巩固和加深学生对数据结构的理解与应用能力。

3. 课堂讨论:鼓励学生在课堂上提问和讨论问题,促进学生思维的活跃和沟通能力的培养。

4. 课程设计:结合实际案例,进行小组项目设计,培养学生团队合作和创新能力。

五、教学评价与考核1. 平时成绩:包括课堂讨论与实验成绩,在课堂上主动提问、积极参与实验的学生将获得较高成绩。

2. 作业与报告:包括编程作业、实验报告等,学生需要按时完成,并按要求展示实现结果与思路。

数据结构教学大纲doc

数据结构教学大纲doc

数据结构教学大纲doc数据结构教学大纲引言:数据结构是计算机科学中的基础概念之一,它涉及到如何组织和存储数据以及如何有效地访问和操作这些数据。

在计算机科学的教学中,数据结构的学习是非常重要的,它为学生提供了解决实际问题的基本工具。

本文将探讨数据结构教学的内容和方法,以及如何设计一份合适的数据结构教学大纲。

一、数据结构的基础知识1.1 数据结构的定义和分类数据结构是指一组数据元素及其之间的关系,它可以分为线性结构、树形结构和图形结构等。

学生需要了解不同类型的数据结构以及它们的特点和应用场景。

1.2 数据结构的存储方式数据结构可以通过不同的存储方式来实现,比如数组、链表、栈和队列等。

学生需要了解每种存储方式的优缺点,以及如何选择适合的存储方式。

1.3 常用的数据结构操作学生需要学习如何对数据结构进行插入、删除、查找和排序等操作。

这些操作是解决实际问题的基本操作,学生需要熟练掌握它们。

二、数据结构的高级知识2.1 树和图的基本概念树和图是数据结构中的重要概念,学生需要了解它们的定义和基本性质。

同时,学生还需要学习树和图的遍历算法和应用。

2.2 哈希表和散列函数哈希表是一种高效的数据结构,它可以快速地查找和插入数据。

学生需要了解哈希表的原理和实现方式,以及如何设计合适的散列函数。

2.3 图的算法图的算法是数据结构中的重点内容,学生需要学习最短路径算法、最小生成树算法和拓扑排序等。

这些算法在实际问题中有着广泛的应用。

三、数据结构的应用3.1 数据库系统数据库系统是数据结构的重要应用之一,学生需要了解数据库的基本概念和操作方式。

同时,学生还需要学习如何设计合适的数据结构来支持数据库的高效操作。

3.2 图形图像处理图形图像处理是另一个重要的数据结构应用领域,学生需要了解如何使用数据结构来表示和处理图形图像数据。

同时,学生还需要学习图形图像处理的基本算法和技术。

3.3 算法设计与分析数据结构和算法是密切相关的,学生需要学习如何设计和分析高效的算法。

数据结构课程教学大纲

数据结构课程教学大纲

数据结构课程教学大纲数据结构课程教学大纲引言:数据结构是计算机科学中的重要基础课程,旨在培养学生对数据的组织、存储和管理的能力。

本文将探讨数据结构课程的教学大纲,包括课程目标、内容安排和教学方法等方面。

一、课程目标数据结构课程的主要目标是帮助学生掌握数据结构的基本概念、原理和应用,培养他们解决实际问题时的数据处理能力。

具体目标如下:1. 理解数据结构的基本概念:包括线性结构、树形结构、图形结构等,以及它们之间的关系和特点。

2. 掌握常见数据结构的实现方法:包括数组、链表、栈、队列、树、图等,了解它们的特点和适用场景。

3. 学会分析和评估数据结构的性能:包括时间复杂度和空间复杂度的计算,了解不同数据结构在不同场景下的效率优劣。

4. 培养解决实际问题的能力:通过实际案例和编程实践,培养学生运用数据结构解决实际问题的思维和方法。

二、课程内容安排数据结构课程的内容应包括基本概念、常见数据结构和算法分析等方面。

以下是一个典型的课程内容安排:1. 基本概念介绍:- 数据结构的定义和分类- 数据结构的基本操作:插入、删除、查找等- 算法的基本概念和复杂度分析方法2. 线性结构:- 数组:定义、初始化、插入、删除等操作- 链表:单链表、双链表、循环链表的定义和操作- 栈和队列:定义、实现和应用3. 树形结构:- 二叉树:定义、遍历(前序、中序、后序)、查找、插入和删除等操作 - 堆和优先队列:定义、实现和应用- 平衡二叉树:AVL树、红黑树的定义和操作4. 图形结构:- 图的定义和表示方法- 图的遍历:深度优先搜索和广度优先搜索- 最短路径算法:Dijkstra算法、Floyd-Warshall算法等5. 高级数据结构:- 哈希表:定义、实现和应用- B树和B+树:定义、插入和删除等操作- 图的高级算法:拓扑排序、最小生成树等6. 算法分析:- 时间复杂度和空间复杂度的计算方法- 算法效率的评估和比较- 算法优化和改进方法的介绍三、教学方法为了提高数据结构课程的教学效果,教师可以采用多种教学方法,如下所示:1. 理论讲解:通过课堂讲解和示意图,向学生介绍数据结构的基本概念和实现方法。

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

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

《数据结构》课程教学大纲一、课程概述数据结构是计算机科学与技术专业的重要基础课程之一。

本课程旨在介绍数据结构的基本概念、常用数据结构及其应用。

通过本课程的学习,学生应具备设计和实现基本数据结构的能力,能够分析并解决实际问题中的数据组织与处理需求。

二、教学目标1. 掌握数据结构的基本概念和分类。

2. 理解不同数据结构的特点、存储结构和操作方式。

3. 能够应用各类数据结构解决实际问题,并分析其性能。

4. 具备编写高质量代码的能力,考虑代码的可读性和可维护性。

5. 培养团队合作意识和解决问题的能力。

三、教学内容1. 数据结构基础1.1 数据结构的定义和作用1.2 数据结构的分类及常用术语1.3 数据结构的表示与实现方式2. 线性结构2.1 线性结构的概念和特点2.2 线性表的顺序存储结构和链式存储结构2.3 线性表的基本操作(插入、删除、查找)2.4 栈和队列的定义、基本操作以及应用3. 非线性结构3.1 树形结构的概念和特点3.2 二叉树及其存储结构(顺序存储和链式存储)3.3 二叉树的遍历(先序、中序、后序)3.4 树与森林的转换和应用4. 图结构4.1 图的定义和基本术语4.2 图的存储结构(邻接矩阵和邻接表)4.3 图的遍历(深度优先搜索和广度优先搜索)4.4 最小生成树和最短路径算法5. 查找算法5.1 查找的基本概念和分类5.2 顺序查找算法5.3 二分查找算法5.4 哈希查找算法6. 排序算法6.1 排序的基本概念和分类6.2 内部排序算法(插入排序、冒泡排序、选择排序、快速排序、归并排序)6.3 外部排序算法四、教学方法1. 集中讲述与课堂演示相结合的教学方法。

2. 利用多媒体技术展示数据结构的基本概念、实例和操作过程。

3. 提供编程实践的机会,让学生独立设计和实现各类数据结构。

4. 组织小组讨论和团队合作,解决数据结构相关问题。

五、考核方式1. 平时成绩包括课堂表现、作业、实验和参与度。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲数据结构教学大纲一、课程介绍1.1课程名称:数据结构1.2学分:3学分1.3先修课程:计算机基础1.4课程性质:必修课程1.5学习方式:课堂讲授、实践操作、实验、课程作业二、教学目标2.1知识目标通过本课程的学习,学生应该掌握以下知识:-基本数据结构的概念和特性,包括数组、链表、栈、队列、树和图等;-常用的数据结构算法,如查找、排序、插入和删除等;-理解数据结构的时间复杂度和空间复杂度,并能进行分析和评估;-能够选择合适的数据结构和算法来解决实际问题。

2.2能力目标-能够运用所学的数据结构和算法解决实际问题;-能够分析和评估不同数据结构和算法的优劣;-具备良好的编程能力,能够实现数据结构的基本操作;-能够进行抽象思维和问题建模,将实际问题转化为数据结构的操作。

2.3态度目标-具备良好的团队合作和沟通能力,能够与他人合作解决问题;-具备批判性思维和创新精神,能够提出新的数据结构和算法。

三、教学内容3.1数据结构概述-数据结构的定义和分类;-数据结构与算法的关系;-数据结构的应用领域。

3.2线性表-线性表的定义和基本操作;-顺序表和链表的实现;-线性表的应用。

3.3栈和队列-栈和队列的定义和基本操作;-栈和队列的实现;-栈和队列的应用。

3.4树和二叉树-树和二叉树的定义和基本操作;-二叉树的遍历和线索化;-树和二叉树的应用。

3.5图-图的定义和基本操作;-图的存储结构和遍历算法;-图的应用。

3.6查找和排序-查找算法的分类和基本思想;-顺序查找和二分查找;-排序算法的分类和基本思想;-冒泡排序、插入排序和快速排序。

四、教学方法4.1讲授法:通过课堂讲授,向学生介绍数据结构的概念、特性和应用,讲解基本操作和算法的原理和实现方法。

4.2实践操作:通过编程实践和课程作业,让学生运用所学的数据结构和算法解决实际问题,加深对知识的理解和运用能力。

4.3实验:通过实验,让学生亲自操作和实验不同的数据结构,加深对数据结构和算法的理解。

计算机专业《数据结构》教学大纲

计算机专业《数据结构》教学大纲

计算机专业《数据结构》教学大纲一、课程基本信息课程名称:数据结构课程类别:专业基础课课程学分:X学分课程总学时:X学时适用专业:计算机专业二、课程的性质、目的和任务(一)课程性质《数据结构》是计算机专业的一门重要的专业基础课,它是介于数学、计算机硬件和计算机软件之间的一门核心课程,不仅是程序设计的基础,也是设计和实现操作系统、数据库系统、编译系统及其他系统程序和大型应用程序的重要基础。

(二)课程目的通过本课程的学习,使学生能够掌握数据结构的基本概念、基本原理和基本算法,培养学生分析问题和解决问题的能力,为后续课程的学习和今后从事软件开发工作打下坚实的基础。

(三)课程任务1、使学生掌握数据结构的基本概念和术语,包括数据、数据元素、数据对象、数据结构等。

2、使学生掌握线性表、栈、队列、串、数组、广义表、树、图等常用数据结构的逻辑结构、存储结构和基本操作的实现算法。

3、使学生掌握查找和排序的基本算法,包括顺序查找、二分查找、哈希查找、插入排序、选择排序、交换排序、归并排序等。

4、培养学生运用所学数据结构和算法知识解决实际问题的能力,能够根据具体问题选择合适的数据结构和算法,并进行算法设计和程序实现。

5、培养学生的程序设计能力和良好的编程风格,提高学生的代码可读性和可维护性。

三、课程教学内容和要求(一)绪论1、教学内容数据结构的基本概念和术语,包括数据、数据元素、数据对象、数据结构、数据类型等。

数据结构的研究内容和研究方法。

算法的基本概念和特性,包括有穷性、确定性、可行性、输入和输出。

算法的描述方法,包括自然语言描述、流程图描述、伪代码描述等。

算法的分析方法,包括时间复杂度和空间复杂度的分析。

2、教学要求理解数据结构的基本概念和术语。

了解数据结构的研究内容和研究方法。

掌握算法的基本概念和特性。

掌握算法的描述方法。

掌握算法的时间复杂度和空间复杂度的分析方法。

(二)线性表1、教学内容线性表的定义和逻辑结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》课程教学大纲
课程代码:090131110
课程英文名称:Data structure
课程总学时:48 讲课:40 实验(上机):8
适用专业:信息与计算科学专业
大纲编写(修订)时间:2017.11
一、大纲使用说明
(一)课程的地位及教学目标
本课程是信息与计算科学专业的一门重要的专业基础课,它较详细地阐述了使用计算机解
决具体问题时所建立的数学模型的逻辑结构与存储结构的多种类型以及对数据具体进行操作的算法实现。

通过本课程的学习,使学生了解和掌握使用高级语言编程时组织数据的基本理论和方法,是学生进一步学习计算机方面相关专业课程的必备基础。

(二)知识、能力及技能方面的基本要求
1.基本知识:掌握时间效率和空间效率的概念,掌握数据结构中的线性表、树、图等基本结构。

2.基本理论和方法:掌握线性表的基本操作,栈、队列、串、数组的基本操作,树的应用方法,图的应用方法及数据的查找、排序操作等。

3.基本技能:学生应该能够使用高级语言正确定义数据的逻辑结构和选择有效的存储结构
解决具体问题,其算法实现应注重时间效率和空间效率。

数据对象查找与排序操作等较常用基本操作,学生应掌握算法学会合理使用。

(三)实施说明
1.教学方法:课堂讲授中要重点对基本概念、基本方法和解题思路的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;注意培养学生提高利用标准、规范及手册等技术资料的能力。

讲课要联系实际并注重培养学生的创新能力。

2.教学手段:在教学中采用电子教案及多媒体教学系统等先进教学手段,以确保在有限的学时内,全面、高质量地完成课程教学任务。

(四)对先修课的要求
要求学生有高级语言的基础知识与编程经验,应该学习过C语言程序设计等课程。

(五)对习题课、实验环节的要求
1.对习题课的要求
学习完每部分内容,都要做相关的练习题,加深对课堂所学知识的理解,检验学生对所学内容的掌握程度,引导学生对所讲例题举一反三,从而达到熟练编程的能力。

2.对实验环节的要求
上机实践环节在理论课后一周左右进行。

通过上机调试运行自编程序,熟练掌握程序设计、调试程序的方法。

3. 本课程的课程设计单独设课,单独考核,具体要求参见相应的课程设计教学大纲。

(六)课程考核方式
1.考核方式:考试
2.考核目标:在考核学生对数据结构基本知识、基本方法的基础上,重点考核学生的分析能力及算法设计能力。

3.成绩构成:本课程的总成绩由三部分组成:期末考试成绩占70%,平时成绩(包括作业情况、出勤情况、期中成绩等)和实验成绩共占30%。

(七)主要参考书目:
《数据结构》严蔚敏清华大学出版社 2012年5月
《数据结构(C语言版)》严蔚敏等人民邮电出版社 2015年2月
《数据结构—用C语言描述》狄国华等编著高等教育出版社2015年7月
二、中文摘要
本课程是信息与计算科学专业的一门必修课。

通过本课程学习,要求学生掌握数据结构和算法的基本概念和技术,从而能够对于给定问题选择合适的数据结构,并设计相应的操作算法。

掌握数组、线性表、栈和队列、串、广义表、树和二叉树、图等典型数据结构及相关算法,以及内排序、查找等重要技术。

本课程将为后续课程的学习以及相关课程设计、毕业设计等奠定重要的基础。

三、课程学时总体分配表
四、教学内容及基本要求
第1部分绪论
总学时(单位:学时):2 讲课:2 实验(上机):0 第1.1部分基本概念与术语
第1.2部分算法与算法分析
具体内容:
1)了解数据结构的基本概念与术语。

2)理解算法的概念,掌握算法效率的度量。

重点:
有关数据结构中的基本概念。

难点:
算法的描述方法。

习题:
算法效率的度量。

第2部分顺序表
总学时(单位:学时):4 讲课:2 实验(上机):2 第2.1部分类型定义
第2.2部分线性表的顺序表示与实现
具体内容:
1)掌握类型定义。

2)掌握线性表的顺序表示与实现。

重点:
线性表的顺序存储类型。

难点:
顺序表的插入删除算法中数据元素的移动。

实验(上机):
顺序表示基本算法实现
习题:
顺序表相关算法设计。

第3部分链表
总学时(单位:学时):8 讲课:6 实验(上机):2 第3.1部分线性表的链式存储结构
第3.2部分循环链表、双向链表
具体内容:
1)掌握线性表的链式存储结构。

2)掌握循环链表、双向链表的基本操作。

重点:
线性表的链式存储结构。

难点:
链表的插入与删除算法。

实验(上机):
链表的基本算法实现。

习题:
链表的插入与删除算法,一元多项式的处理等。

第4部分栈
总学时(单位:学时):2 讲课:2 实验(上机):0 第4.1部分栈的表示、实现与应用
具体内容:
1)掌握栈的表示、实现与应用。

重点:
弹栈与压栈操作
难点:
栈的应用
习题:
栈的应用程序设计
第5部分队列
总学时(单位:学时):2 讲课:2 实验(上机):0 第5.1队列的表示、实现与应用
具体内容:
1)掌握队列的表示、实现与应用。

重点:
出队、入队的实现。

习题:
队列的应用。

第6部分串、数组、广义表
总学时(单位:学时):4 讲课:4 实验(上机):0
第6.1 串、数组、广义表的基本概念、基本操作
第6.2 矩阵的压缩存储
具体内容:
1)掌握串、数组、广义表的基本概念、基本操作。

2)理解函矩阵的压缩存储。

重点:
串的基本概念、基本操作。

难点:
串的模式匹配。

习题
串的应用。

第7部分树和二叉树
总学时(单位:学时):12 讲课:10 实验(上机):2 第7.1 树的定义和基本术语
第7.2 二叉树
第7.3 树和森林
第7.4 赫夫曼树及其应用
具体内容:
1)掌握树的定义和基本术语。

2)掌握二叉树的定义、性质。

3)掌握二叉树的存储结构、遍历二叉树。

4)理解树的存储结构、树和森林的遍历
5)了解赫夫曼树,掌握其应用。

重点:
二叉树的定义、性质,遍历二叉树。

实验(上机):
树相关基本算法。

习题:
二叉排序树的应用,哈夫曼树等。

第8部分图
总学时(单位:学时):4 讲课:4 实验(上机):0 第8.1 图的定义和术语
第8.2 图的存储结构
第8.3 图的遍历
第8.4图的连通性
第8.5 有向无环图及其应用
第8.6 最短路径
具体内容:
1)了解图的定义和术语。

2)掌握图的存储结构。

3)掌握图的遍历。

4)掌握图的连通性.
5)了解有向无环图及其应用。

6)掌握最短路径
重点:
图的存储结构,图的遍历。

习题:
图的遍历等。

第9部分查找
总学时(单位:学时):4 讲课:4 实验(上机):0 第9.1查找
第9.2基于线性表的查找
第9.3基于树的查找
第9.4 哈希表
具体内容:
1)掌握查找概念。

2)掌握基于线性表的查找算法。

3)掌握基于树的查找算法。

4)了解哈希表概念,掌握哈希函数的构造方法。

重点:
基于线性表的查找。

难点:
基于树的查找。

习题:
多种查找算法的实现。

第10部分内部排序
总学时(单位:学时):6 讲课:4 实验(上机):2 第10.1 插入排序
第10.2 交换排序
第10.3 选择排序
第10.4 归并排序
第10.5 基数排序具体内容:
1)掌握插入排序算法。

2)掌握交换排序排序算法。

3)掌握选择排序算法。

4)掌握归并排序算法。

5)掌握基数排序算法。

重点:
排序算法。

实验(上机):
查找、排序算法实现。

习题:
排序各种算法的实现等。

相关文档
最新文档