数据结构课程教学大纲

合集下载

教学大纲数据结构

教学大纲数据结构

教学大纲:数据结构引言:数据结构是计算机科学中非常重要的一门课程,它研究了数据的组织、存储和管理方法。

在计算机领域中,数据结构为算法和程序的设计提供了基础。

本课程旨在介绍数据结构的基本概念、常见的数据结构类型以及它们的应用。

通过学习该课程,学生将能够理解和应用各种数据结构,提高算法设计和问题解决的能力。

一、课程目标:1. 理解数据结构的基本概念和特性。

本课程将首先介绍数据结构的基本概念,如元素、集合、关系等。

学生将学习如何定义和表示各种数据结构,包括线性结构、树形结构和图形结构。

学生还将理解数据结构的特性,如顺序访问、随机访问、插入和删除等操作。

2. 掌握常见的数据结构类型以及它们的特点和应用。

本课程将介绍常见的数据结构类型,如数组、链表、栈、队列、树、图等。

学生将学习每种数据结构的特点、优缺点以及适用的场景。

通过具体的案例和实践,学生将能够应用不同的数据结构解决实际问题。

3. 掌握数据结构的算法设计和分析方法。

本课程将重点讲解数据结构的算法设计和分析方法。

学生将学习如何设计高效的算法,并通过时间复杂度和空间复杂度等指标对算法进行分析和评估。

学生将通过实践项目和编程练习,提高算法设计和问题解决的能力。

二、教学内容:1. 数据结构的基本概念和特性a. 元素、集合、关系的定义和表示b. 数据结构的分类和特点c. 数据结构的操作和基本算法2. 线性结构a. 数组b. 链表c. 栈d. 队列3. 树形结构a. 二叉树b. 二叉搜索树c. 平衡二叉树d. 堆e. 哈夫曼树4. 图形结构a. 图的定义和表示b. 图的遍历c. 最短路径算法d. 最小生成树算法5. 数据结构的算法设计和分析方法a. 递归算法b. 回溯算法c. 动态规划算法d. 分治算法e. 贪心算法三、教学方法:1. 讲授与案例分析相结合的教学方法。

本课程将采用讲授与案例分析相结合的教学方法。

通过具体的案例,学生将更好地理解和应用数据结构的知识。

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

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

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

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

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

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

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

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

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

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

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

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

数据结构课程教学大纲

数据结构课程教学大纲

数据结构课程教学大纲第一篇:数据结构课程教学大纲数据结构课程教学大纲一、课程基本概况课程名称:数据结构课程名称(英文): Data Structures课程编号:B09042课程总学时:60(其中,讲课48,实验12)课程学分:3课程分类:专业选修课开设学期:4适用专业:计算机网络工程本科先修课程:集合论,图论,高级语言(结构或记录,指针)后续课程:数据库,编译原理,操作系统等二、课程的性质、目的和任务数据结构是计算机专业的一门核心专业课程,是软件课程中非常重要的一门课程,在整个专业教学中占有十分重要的地位,是一门理论性非常强的课程。

通过课堂教学、课外练习和上机实习,使学生了解数据对象的特性,数据组织的基本方法,并初步具备分析和解决现实世界问题在计算机中如何表示和处理的能力以及培养良好的程序设计技能,为后续课程的学习和科研工作的参与打下良好的基础。

三、主要内容、重点及深度本门课程共60学时,其中理论教学48学时,实验教学12学时。

其中,理论教学部分:第一章绪论(一)目的要求了解数据结构的意义与发展过程、数据结构在计算机科学中的作用、学习本课程的目的、任务及要求。

理解数据结构的基本概念;算法设计;掌握算法的时间和空间复杂度。

(二)教学内容本章知识点:1.相关的基本概念(掌握);2.算法五大要素 (掌握);3.计算语句频度和估算算法时间复杂度的方法(掌握)。

(三)重点与难点重点:数据结构的定义;算法的描述方法。

难点:数据结构的定义;算法与程序的区别;时间复杂度及其计算。

第二章线性表(一)目的要求掌握线性表的逻辑结构;线性表的存储结构及操作的实现;理解一元多项式的表示;(二)教学内容本章知识点:1.线性表的逻辑结构(掌握);2.线性表的存储结构(掌握);3.线性表在顺序结构和链式结构上实现基本操作的方法(掌握);4.从时间和空间复杂度的角度比较线性表两种存储结构的不同特点及其适用场合(掌握)。

(三)重点与难点重点:线性表的概念;线性表的顺序存储结构、链式存储结构及其常用算法。

《数据结构》教学大纲

《数据结构》教学大纲

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

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

二、教学目标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. 作业与报告:包括编程作业、实验报告等,学生需要按时完成,并按要求展示实现结果与思路。

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

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

数据结构课程教学大纲(DataStructure)学时数:72其中:实验学时:10课外学时:0学分数:4.5适用专业:网络工程一、课程的性质、目的和任务数据结构是计算机、网络工程专业的必修学科基础课程,主要介绍:线性表、栈、队列、数组、串、树、二叉树、图等基本数据结构及其应用;排序及查找的原理与方法;数据的存储结构。

通过本课程的学习使学生掌握基本数据结构的概念、特征、存贮结构及算法和算法分析的手段。

熟悉基本结构在计算机学科的应用,,训练学习使用高级语言编写合理算法的能力。

二、课程教学的基本要求(一)了解典型数据结构的逻辑关系,存贮结构,操作及算法的关系。

(二)熟练掌握各种基本数据结构的概念、特点、存贮方式、算法及分析评估。

(H)掌握基本算法分析方法。

(四)熟悉查找及排序的典型算法。

(五)针对实际问题,选择合理的数据结构及实现相应的操作。

三、课程的教学内容、重点和难点第一章概论(2学时)一、基本内容:(一)数据、数据元类、数据类型、数据结构。

(二)算法与数据结构的关系。

(H)算法的描述,评价标准及评估。

第一节:基本概念和术语第二节:抽象数据类型第三节:算法分析第四节:性能分析与度量二、基本要求:(一)熟悉数据结构基本概念第二章线性表(8学时)一、基本内容:(一)线性表的定义及抽象操作。

(二)线性表的两种存贮结构及算法。

(H )链表的应用举例。

线性表线性表的顺序表示与实现线性表的链式表示与实现链表一元多项式的表示与实现 二、基本要求:(一)掌握线性表的基本概念(二)掌握线性表的各种算法重点:线性表的基本操作。

难点:线性表的抽象操作,链表应用。

第三章栈和队列(8学时)一、基本内容:(一)队列、栈的定义及抽象操作。

(二)队列、栈的顺序存贮结构及相关算法。

(三)队列、栈的链式存贮结构及相关算法。

(四)多队列、栈的顺序存贮。

(五)栈的应用举例、栈与递归过程的关系。

第一节:栈第二节:队列 第三节:栈与队列的实现第四节:栈与队列的应用举例二、基本要求:(•)掌握队列、栈的基本概念(二)掌握队列、栈的各种算法(三)熟悉队列、栈的各种应用重点:队列、栈的各种算法。

数据结构课程教学大纲

数据结构课程教学大纲

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

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

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

具体目标如下: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实验:通过实验,让学生亲自操作和实验不同的数据结构,加深对数据结构和算法的理解。

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

《数据结构》课程教学大纲Data Structure执笔人:编写日期:一、课程基本信息1. 课程编号:2. 课程性质/类别:必修课 / 专业主干课3. 学时/学分: 48 学时(另实验16学时) / 4 学分4. 适用专业:计算机科学与技术、软件工程、网络工程、信息管理与信息系统等专业二、课程教学目标及学生应达到的能力数据结构课程是计算机相关专业的专业基础课、必修课程,主要介绍用计算机解决一系列问题特别是非数值信息处理问题时所用的各种组织数据的方法、存储数据结构的方法以及在各种结构上执行操作的算法。

通过本课程的学习,要求学生掌握各种数据结构的特点、存储表示、运算方法以及在计算机科学中最基本的应用,培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,培养学生分析问题、解决问题的能力,并为后续课程的学习打下良好的理论基础和实践基础。

三、课程教学容与基本要求(一)绪论( 3 学时)1.主要容:(1)介绍什么是数据结构;(2)基本概念和术语: 数据、数据元素、数据对象,以及数据结构的定义、逻辑结构、物理结构(理解)数据类型、抽象数据类型;(3)抽象数据类型的表示与实现;(4)算法和算法分析: 算法的概念、算法设计的要求以及算法效率的度量。

2.基本要求(1)了解学习数据结构的重要性;(2)掌握数据结构的定义及相关概念和术语;(3)了解抽象数据类型的定义、表示与实现方法;(4)理解算法的概念、特点并掌握度量其效率的基本方法。

3.自学容:类C语言的书写规。

(二)线性表( 6 学时)1.主要容:(1)线性表的抽象数据类型定义和相关概念:数据项、记录、文件等;(2)线性表顺序存储表示和基本操作的实现;(3)线性表的链式存储表示和基本操作的实现;(4)稀疏多项式的抽象数据类型定义、表示和加法的实现。

2.基本要求(1)掌握线性表的定义和特点;(2)熟练掌握线性表的顺序存储表示和插入、删除、查找等实现算法;(3)熟练掌握单链表、循环链表、双向链表三种链表的表示,以及单链表的查找、插入、删除、创建等实现算法。

3.自学容:静态链表。

(三)栈和队列( 5 学时)1.主要容:(1)栈和队列的结构特性和抽象数据类型定义;(2)栈和队列的顺序存储表示和实现;(3)栈和队列的链式存储表示和实现;(4)栈和队列在程序设计中的应用。

2.基本要求(1)掌握栈和队列两种抽象数据类型的特点;(2)掌握栈的两种存储表示和实现,特别注意栈满栈空的条件;(3)掌握队列的两种存储表示和实现,特别注意队满队空的条件;(4)了解递归算法与栈的关系。

3.自学容:链栈,离散事件模拟(四)串( 3 学时)1.主要容:(1)串的抽象数据类型定义;(2)串的表示和实现: 定长顺序存储结构和堆分配存储结构;(3)串的各种基本操作的实现及其应用;(4)串的模式匹配操作。

2.基本要求(1)熟悉串的一些基本操作的定义,并能利用基本操作实现串的其它操作;(2)掌握串的定长顺序存储结构以及基本操作的实现;(3)掌握串的堆分配存储结构以及基本操作的实现;(4)掌握串的简单模式匹配算法,理解KMP算法。

3.自学容:串操作的应用实例。

(五)数组和广义表( 4 学时)1.主要容:(1)数组的抽象数据类型定义及其顺序表示和实现;(2)特殊矩阵和稀疏矩阵的压缩存储;(3)广义表的抽象数据类型定义和存储结构。

2.基本要求(1)了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法;(2)掌握对特殊矩阵进行压缩存储时的下标变换公式;(3)熟悉稀疏矩阵的三元组顺序表存储结构下的一般转置和快速转置算法;了解十字链表等存储结构;(4)掌握广义表的结构特点、取表头表尾操作,及其存储表示方法。

3.自学容:采用十字链表存储结构创建稀疏矩阵。

(六)树和二叉树( 10 学时)1.主要容:(1)树的抽象数据类型定义和基本术语;(2)二叉树的抽象数据类型定义、性质和存储结构;(3)二叉树的遍历;(4)线索二叉树的定义、遍历及线索化二叉树;(5)树的存储结构、树和森林的遍历以及与二叉树的转换;(6)Huffman树及其应用。

2.基本要求(1)掌握树型结构的特点和基本术语;(2)熟练掌握二叉树的性质,了解相应的证明方法;(3)了解二叉树的顺序存储结构和链式存储结构,熟练掌握二叉链表存储结构;(4)熟练掌握二叉树三种遍历的递归算法和中序遍历非递归算法,能灵活运用遍历算法实现二叉树的其他操作;(5)熟练掌握二叉树的线索化过程,以及在中序线索二叉树上找结点的前驱与后继的方法;(6)熟悉树的各种存储结构及其特点,掌握树和森林与二叉树的转换方法;(7)了解Huffman树的特性,掌握建立Huffman树和Huffman编码的方法。

3.自学容:先序、后序遍历二叉树非递归算法,层次遍历二叉树算法。

(七)图( 9 学时)1.主要容:(1)图的定义和术语;(2)图的四种存储结构:数组表示法(邻接矩阵)、邻接表、十字链表和邻接多重表;(3)图的两种遍历策略:深度优先遍历和广度优先遍历;(4)图的连通性和最小生成树;(5)有向无环图及其应用:拓扑排序和关键路径;(6)最短路径问题。

2.基本要求(1)熟悉图的定义和术语;(2)了解图的存储结构,熟练掌握数组表示法(邻接矩阵)和邻接表存储表示;(3)熟练掌握图的深度优先遍历和广度优先遍历算法;(4)掌握无向连通带权图的最小生成树求解算法;(5)了解有向无环图、AOV网、AOE网及其在实际中的应用,熟悉拓扑排序算法和关键路径算法;(6)熟悉两种最短路径问题求解算法。

3.自学容:树的先根遍历算法与图的深度优先遍历算法比较;树的层次遍历算法与图的广度优先遍历算法比较。

(八)查找( 4 学时)1.主要容:(1)查找的基本概念和相关术语;(2)静态查找表:顺序查找、折半查找和索引顺序表查找;(3)动态查找表:二叉排序树的查找、插入和删除;(4)哈希表。

2.基本要求(1)了解查找的作用,熟悉相关术语;(2)熟练掌握顺序查找、折半查找和索引顺序表查找;(3)熟练掌握二叉排序树的特性、构造和查找方法;(4)熟练掌握哈希表的构造方法,特别是哈希函数和处理冲突方法的选取;(5)通过分析等概率下的平均查找长度来衡量各种查找方法的效率。

3.自学容:平衡二叉树。

(九)部排序( 4 学时)1.主要容:(1)排序的基本概念和相关术语;(2)插入排序:直接插入排序、折半插入排序和希尔排序;(3)交换排序:起泡排序和快速排序;(4)选择排序:简单选择排序和堆排序;(5)归并排序:二路归并排序;(6)基数排序:链式基数排序;(7)各种部排序方法的比较讨论。

2.基本要求(1)了解排序作用,熟悉相关术语;(2)掌握多种排序的基本思想、算法特点和排序过程,分析它们的时间复杂度、空间复杂度和稳定性。

3.自学容:二路插入排序、表插入排序和树形选择排序。

四、教学安排建议1. 作业练习完成每章的教学后进行布置习题,使用教材配套的《数据结构题集(C语言版)》。

尽量选择基础的并且加注了标记的题,应注重于精,而不要求多。

要求积极独立完成所布置的习题,建议安排至少六次。

2. 案例分析可参考选择以下一些案例:(1)学生通讯录管理系统,(2)表达式求值问题(3)交通咨询系统,等。

3. 专题研讨可参考选择以下一些:(1)最小生成树问题(2)航班信息查询与检索系统,(3)部排序算法比较,等。

4. 实验安排为了达到理论与实际应用的结合,让学生能将所学知识应用于实际问题的求解中,培养学生的实际动手能力,从而加深对概念及所学知识的理解,灵活、牢固掌握教材容,提高程序设计及解决实际问题的能力,实验环节的安排非常重要。

建议实验安排为八次,共16学时,分别如下:实验1 线性表的顺序存储结构的实现(2学时)实验2 线性表的链式存储结构的实现(2学时)实验3 栈的算法实现(2学时)实验4 队列的算法实现 (2学时)实验5 串类型及操作(2学时)实验6 二叉树的建立与遍历(2学时)实验7 图的建立与遍历(2学时)实验8 查找与排序(2学时)注:教师可根据教学实际情况(如:学生情况及学时情况等),适当调整实践教学容及学时分配。

五、课程考核1. 考核形式及成绩评定办法本课程考核形式为:平时成绩占40%,期末考试成绩占60%。

其中平时成绩的结构分包括:课堂表现10%、平时作业10%和实验20%,期末考试为闭卷笔试考试:120分钟,卷面分满分100分。

期末考试成绩低于50分者,本课程成绩按不及格论处。

2. 本课程考核的基本要求课堂表现10%:包括课堂考勤和课堂提问,如果缺课课时达到本课程教学时数的1/3,则取消考试资格。

平时作业10%:根据上交次数及完成情况进行评定。

实验20%:根据各次实验完成情况及实验报告成绩进行评定。

期末考试60%:本课程的期末考试考核容主要包括线性表、栈与队列、串、数组与广义表、树与二叉树、图、查找和部排序。

其中,线性表、二叉树、图、查找和部排序容为考核的重点。

六、本课程与其它课程的先行后续关系先行课程:《高级程序设计语言》、《离散数学》后续课程:《操作系统》、《编译原理》、《数据库理论》、《算法分析与设计》等七、建议教材及教学参考书1. 教材:严蔚敏,吴伟民编著,《数据结构(C语言版)》,清华大学出版,2012.5严蔚敏,吴伟民编著,《数据结构题集(C语言版)》,清华大学出版,2012.52.参考书:[1] 许卓群,乃孝,冬青,唐世渭,《数据结构》,高等教育,2004.[2] 徐孝凯,《数据结构简明教程》,清华大学,1995[3]文博,朱青,《数据结构与算法》,机械工业,1996[4] 云清,庆红,揭安全编著,《数据结构》(C语言版),人民邮电,2007.[5] 秀金主编,《数据结构》,电子科技大学,2002.[6] 廉治,文清,郭福顺,《数据结构》,理工大学,1989[7] Aho A V, Hopcroft J E, Ullman J D. Data Structures and Algorithms. Addison-Wesley Publishing Company,Inc.,1983[8] Baron R J, Shapiro L G. Data Structures and their Implementation. Van Nostrand Reinhold Company, 1980[9] Esakov J, Weiss T. Data Structures: An Advanced Approach Using C. Prentice-Hall, Inc.,1989[10] [美]S巴斯《计算机算法:设计和分析引论》朱洪等译,复旦大学,1985。

相关文档
最新文档