数据结构教学大纲(完整资料).doc

合集下载

《数据结构》教学纲要(doc 9页)

《数据结构》教学纲要(doc 9页)

《数据结构》教学纲要(doc 9页)《数据结构》教学大纲2001年9月一、开课系(部):经济信息管理系二、教学对象:信息管理与信息系统专业本科三、教学目的:数据结构是高等教育计算机信息管理专业中的一门专业基础课,在计算机软件的各个领域中均会使用到数据结构的有关知识。

本课程的目的和任务是使学生较全面地掌握各种常用的数据结构,为学习后续软件课程提供必要的基础,提高运用数据结构解决实际问题的能力。

四、教学要求:1. 从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、串、数组、广义表、树、图和文件等常用的数据结构。

2. 掌握在各种常用的数据结构上实现的排序和查找运算。

3. 对算法的时间和空间复杂性有一定的分析能力。

4. 针对简单的应用问题.应能选择合适的数据结构及设计有效的算法解决之。

五、教学课时:教学内容课内学时第1章绪论 2第2章线性表 4第3章栈和队列 6第4章串 4笫5章数组和广义表 4第6章树和二叉树 6第7、8章略第9章查找 4第10章内部排序 4课程总复习 2六、考核形式:期末考试与平时讨论相结合(80%和20%)。

期末试卷结构:单项选择填空简答应用算法设计20 15分20分15分30分态。

3.3 算法描述和算法分析的方法,对于一般算法能分析出时间复杂度。

第2章线性表(一)课程内容2.1 线性表的逻辑结构2.2 线性表的顺序存储结构2.3 线性表的链式存储结构2.4 顺序表和链表的比较(二)学习目的与要求本章目的是介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在存储结构上如何实现这些基本运算。

要求在熟悉这些内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题。

本章重点是熟练掌握顺序表和单链表上实现的各种基本算法及相关的时间性能分析,难点是能够使用本章所学到的基本知识设计有效算法解决与线性表相关的应用问题。

《数据结构》教学大纲.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语言,让学生掌握实验的设计思路,学习程
序的设计和编码,在解决实际问题中加深对基本数据结构基础理论的理解。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲课程名称:数据结构(Data Structures)课程代码:1421007009学分/总学时:4/90开课单位:计算机科学与工程学院面向专业:计算机科学与技术、信息管理、计算机科学与技术(师范)一、课程的性质、目的和任务《数据结构》是计算机科学与技术专业及相关专业的一门专业必修课。

《数据结构》的研究不仅涉及到计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。

在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素更为方便。

因此,可以认为《数据结构》是介于数学、计算机硬件和计算机软件三者之间的一门核心课程,在计算机科学中,数据结构不仅是一般程序设计(特别是非数值计算的程序设计)的基础,而且是设计和实现编译程序、操作系统、数据系统及其它系统程序和大型应用程序的重要基础。

《数据结构》课程作为计算机相关专业重要的主干课程,它要求学生学会分析和研究需解决的问题中的数据的特性,为其选择合适的数据结构来描述,在此数据结构的基础上写出相应的算法,并初步掌握算法的时间复杂度和空间复杂度的分析技术。

另一方面,通过本课程的学习,培养和训练学生编写复杂程序的能力,要求编写的程序结构清楚、正确易读,符合软件工程的规范,使学生的编程能力有一个质的提高。

二、学习本课程学生应掌握的前设课程知识本课程的先行课程有:《计算机导论》、《高级语言程序设计》、《离散数学》。

三、学时分配四、课程内容和基本要求1.绪论(2+2学时)[1]数据结构中的基本概念和术语[2]抽象数据类型[3]算法与算法分析基本要求:熟悉数据结构中各名词、术语的含义,掌握其基本概念;理解数据类型和抽象数据类型的含义;理解算法五个要素的确切含义,注意算法与程序的区别;掌握计算语句频度和估算算法时间复杂度的方法。

2.线性表(8+6学时)[1]线性表的概念[2]线性表的顺序存储和实现[3]线性表的链式存储和实现[4]循环链表和双向链表[5]线性表的具体应用基本要求:了解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构;熟练掌握这两类存储结构的描述方法,以及线性表的各种基本操作的实现;能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合;掌握用线性表来表示一元多项式的方法及相应操作的实现。

《数据结构》教学大纲

《数据结构》教学大纲

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

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

二、教学目标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 算法设计与分析数据结构和算法是密切相关的,学生需要学习如何设计和分析高效的算法。

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

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

《数据结构》课程教学大纲(201402修订)课程名称:数据结构(英文):Data Structure课程性质:专业基础课适用层次:专升本学时:64 (理论教学时数:48 实践教学时数:16 )先修课程:C++程序设计一、课程的作用、地位和任务1.课程性质:本门课程是是计算机专业中一门重要的专业基础课。

用计算机解决任何问题都需要进行数据表示和数据处理,而数据表示和数据处理正是《数据结构》要研究的内容。

本课程主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法的分析和评价。

2.目的和任务:通过本门课程的学习,使学生深透地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效可靠的程序,为学习操作系统、编译原理和数据库等课程奠定基础。

3、教学方法:本课程在多媒体课室授课,讲授内容制成课件,利用计算机把讲授内容与实例结合在一起,通过文字、声音、图像和动画的结合进行授课。

实践环节是强化动手能力培养及对技术细节知识掌握的重要组成部分,也是融会贯通各章知识内容的极好手段。

通过上机调试运行自编程序,熟练掌握程序设计、调试程序的方法,进一步领会程序设计的特点。

4、基本要求:1)了解数据结构及其分类、数据结构与算法的密切关系。

2)熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构。

3)掌握设计算法的步骤和算法分析方法。

4)掌握数据结构在排序和查找等常用算法中的应用。

二、课程教学内容和要求(一)理论教学第一章绪论:教学内容与要求:逻辑结构与存储结构的含义1.数据的四种逻辑结构与四种存储结构2.抽象数据类型的含义3.算法的特性,4.时间复杂度与空间复杂度的含义重点与难点:数据的四种逻辑结构与四种存储结构,时间复杂度的估算及比较1.1 常用术语(重点)1.2 算法描述(重点)1.3 算法评价(重点)第二章线性表:教学内容与要求:1 线性表的含义, 2线性表的顺序存储、链式存储的各种算法重点与难点:1 线性表的插入、删除算法, 2.双向链表及循环链表的插入、删除过程2. 1 线性表的定义及抽象描述(重点)2.2 线性表的顺序存储和操作实现(重点)2.3 线性表应用举例2.4 线性表的链接存储结构(重点)2.5 线性表操作在单链表上的实现(重点)2.6 多项式计算第三章栈与队列:教学内容与要求:1栈的定义, 2栈的存储及运算实现, 3栈的应用:表达式求值4.栈与递归的实现,5.队列的定义及存储实现重点与难点:1 栈与队列的基本运算, 2 表达式求值3.1 栈与队列的定义和抽象数据类型(重点)3.2 栈与队列的顺序存储结构和操作实现(重点)3.3 栈的应用:表达式求值第四章串,教学内容与要求:1串的概念, 2串的两种存储方式, 3串的模式匹配算法重点与难点:串的模式匹配算法4.1 串的概念(重点)4.2 串的两种存储方式(重点)4.3 串的模式匹配算法第五章多维数组与广义表,本章内容安排学生自学。

《数据结构》课程教学大纲_计算机专业.doc

《数据结构》课程教学大纲_计算机专业.doc

《数据结构》课程教学大纲课程编号:806302024课程名称:数据结构英文名称:Data Structure课程类型:专业基础课总学时:72 讲课学时:56 实验学时:16学时:72学分:4.5适用对象:计算机科学与技术专业本科生先修课程:计算机导论、C/C++语言程序设计I、C/C++语言程序设计II、离散数学一、课程性质、目的和任务数据结构课程是计算机科学与技术专业本科学生必修的一门专业基础课程。

数据结构是软件设计的重要理论和实践基础,数据结构设计和算法设计是软件系统设计的核心。

数据结构课程的任务是,讨论数据的各神逻辑结构、在计算机中的存储结构以及各种操作的算法设计。

数据结构课程的主要H的是,培养学生掌握处理数据和编写高效率软件的基木方法,为学习后续专业课程以及进行软件开发打下坚实基础。

二、教学基本要求数据结构是理论与实践并重的课程,既要掌握数据结构的基础理论知识,掌握算法设计和分析方法,熟练运用一种程序设计语言编制具有中等难度的应用程序;也要掌握运行和调试程序的基木技能,在实践中培养独立分析问题和解决问题的作风和能力。

根据目前国内数据结构课程的发展趋势和我院计算机科学与技术专业的教学计划,本课程采用C++语言及面向对象程序设计方法描述数据结构和算法。

本课程教学的基本要求说明如下。

1.理解线性表、栈、队列、串、数组、树、二叉树、图等数据结构的基木概念,掌握它们的存储结构及各种操作的实现方法。

2.理解各种数据结构的杏找操作要求,掌握在线性表、二叉树中采用的查找算法及杏找效率分析方法。

掌握插入、交换、选择、归并等排序算法,掌握排序算法效率分析方法。

3.熟练运用C++语言及面I可对象程序设计方法描述各种抽象数据类型,表达它们的存储结构,实现在各存储结构上的各种操作。

熟练运用递归函数表达逆归定义、递归算法和递归结构。

4.掌握在Visual C++ 6.0集成开发环境中编辑、编译、运行和调试程序的方法,具备运行和调试程序的基本技能,能够发现程序错误、及肘找到错误所在并改正错误,重点和难占是运用单步运行、设置断点、查看变景运行时值等程序调试技术,发现并改正程序逻辑错误。

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

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

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

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

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

二、教学目标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. 平时成绩包括课堂表现、作业、实验和参与度。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

掌握算法的描述方法。

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

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

《数据结构(一)》课程教学大纲.docx

《数据结构(一)》课程教学大纲.docx

《数据结构》课程教学大纲在学习了一门程序设计课程之后,要想深入学习编程,《数据结构》是必要的通关课程。

该课程从比拟抽象的视角分析数据的逻辑结构、存储结构及相关算法的实现。

二、课程性质与目的作为计算机相关专业的-门核心基础课,《数据结构》的研究对象主要是数据的逻辑结构、数据的物理存储结构及对数据的操作(算法)等三个方面。

通过该课程的学习,要求学习者能够掌握常用的线性结构和非线性结构的基本概念、存储表示和基于不同存储基础上的基本操作的实现方法,学会分析各种算法在时间和空间上的效率等。

在此过程中,培养更加严谨的逻辑推理能力,为编写出高质量程序打下良好基础。

三、教学内容与学时分配第一章C语■言复习(3+2学时)1、教学内容以一个实验题为切入点,带着学生复习相关知识点:基本输入输出语句的使用、结构体的定义、结构体类型的声明、结构体变量的定义、结构体数组、常用算法、函数的调用等。

2、教学要求复习C语言相关知识点,为数据结构的学习做好准备。

3、重点结构体的相关内容4、难点无第二章数据结构概述(3学时)1、教学内容数据结构的起源、基本概念和术语、抽象数据类型、算法与算法分析、学习提示2、教学要求让学生初步建立对数据结构的认识:研究什么、为什么学习、怎么学习。

3、重点什么是数据结构4、难点无第三章线性表(6+4学时)1、教学内容线性表的基本概念、顺序存储及操作的实现、链式存储及操作的实现2、教学要求让学生了解线性表的逻辑结构、存储结构,并尝试在不同存储结构上实现线性表的基本操作:建表、查找、插入和删除元素。

3, 重点基本操作的实现4、难点链式存储上的建表操作第四章栈与队列(3+2学时)1、教学内容栈一一基本概念、顺序栈和链栈上操作的实现、栈的应用队列一一基本概念、顺序队列(循环队列)上操作的实现、链队列2、教学要求让学生了解操作受限的两个线性表:栈和队列,并掌握栈的基本操作及应用。

3、重点栈的应用4、难点无第五章串(3+2学时)1、教学内容串的基本概念、串的顺序存储及基本操作、串的链式存储、串的模式匹配算法2、教学要求让学生了解另一种特殊的线性表一一串(所有数据元素均为字符),掌握串的基本操作及串的模式匹配算法。

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

【最新整理,下载后即可编辑】XX师范学院大学本科专业教学大纲中文课程名称:数据结构英文课程名称:Data Structures适用专业:信息管理与信息系统制定单位:商学院执笔人:审核人:单位负责人:制定时间:2017-2-10XX师范学院教务处二〇一七年一月《数据结构》课程教学大纲一、课程基本信息(一)课程代码及课程名称1.课程代码:061510902.课程名称(中/英文):数据结构/Data Structures(二)课程类别及课程性质专业教育必修课程(三)学时及学分:总学时数:64;总学分数:3。

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

(四)适用专业及开设学期适用专业:信息管理与信息系统(本科)开设学期:第二学期(五)先修课程与后续课程先修课程:大学计算机基础、高等数学、C语言程序设计后续课程:数据库原理与应用、管理信息系统分析与设计、管理信息系统、Java程序设计(高级)二、课程简介“数据结构”是信息管理与信息系统专业一门重点专业基础课程,也是学科专业核心专业基础课程之一,属于专业学位必修课程。

本课程的教学任务是针对大量的信息处理对象,介绍对象信息与数据表示的各种抽象的、基本的逻辑结构及其上的基本运算操作。

通过研究各种基本数据结构内在的逻辑关系和它们在计算机中的存储表示方式,初步建立数据结构上基本运算操作的正确性概念,同时,结合各种典型问题讨论其上的各种基本运算操作及其基本算法,讲授各种数据结构的特点、适用范围,以及对一些基本算法效率的定性和定量分析方法,为后续课程提供必要的数据结构基础。

此外,配合实验课程的教学中,学生应理论联系实际,理论指导实践,通过规范地完成一系列数据结构实验进一步巩固所学的相关书本知识,在知识、能力、素质上得到进一步的提高。

三、教学目的与基本要求(一)该课程教学目的与专业培养要求对应关系矩阵说明:表格要清晰展示该课程与每项培养要求达成的关联度情况,关联度强的用“●”标识,关联度中等的用“◎”标识,关联度弱的用“○”标识;每门课程与4-8项(底线为总培养要求的50%)培养要求相关联。

(二)教学目的《数据结构A》在计算机科学中是一门综合性的专业基础课,不仅是一般程序设计的基础,而且是设计和实现操作系统、数据库系统、编译程序及其它系统程序和大型应用程序的重要基础。

本课程讨论各种数据组织中的数据的逻辑结构、存储结构以及有关操作的算法。

目的是使学生学会分析研究计算机所要加工处理的数据的特征,掌握组织数据、存储数据和处理数据的基本方法,并加强在实际应用中选择合适的数据结构和设计相应算法的训练,课程的具体教学目的如下:数据结构与算法是计算机科学教育中的一门核心课程。

数据结构与算法主要讨论在应用计算机解决问题时,如何有效地组织数据、表示数据和处理数据,以及如何设计正确的算法和评价算法的效率。

课程介绍常见的数据结构及其应用,常用的数据处理技术和算法,以及算法效率估算的基本技术。

通过本课程的学习,学生应该掌握常用的数据结构,掌握合理地组织数据结构和表示数据的方法,掌握有效地处理数据的方法,掌握评价算法性能的基本方法。

通过本课程的训练,进一步提高学生的数据抽象能力;提高学生设计高质量程序的能力。

本课程也为学生学习操作系统、编译原理和数据库等后续课程奠定基础。

1. 知识方面1.1理解数据结构的一些基本概念、理解并掌握算法的描述方法,理解并掌握算法的时间复杂度和空间复杂度的概念以及分析方法。

1.2理解各种数据结构的基本概念,深刻理解各种数据结构的逻辑特性,理解并熟练掌握各种数据结构的存储表示方法,理解并掌握在各种数据结构基础上的算法设计与描述,并理解和掌握对算法性能进行分析的方法以及分析结果。

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

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学时)(一)教学目的和要求掌握查找的基本概念、基于线性表的查找方法(顺序、折半)。

相关文档
最新文档