如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
云南大学课程教学大纲·理论课《算法与数据结构》课程教学大纲一、课程基本信息1、课程名称(中/英文):算法与数据结构/AlgorithmsandDataStructures2、课程性质:专业必修3、周学时/学分:3/34、授课对象:电子信息科学与技术专业5、使用教材:徐孝凯编,《数据机构》,北京:电子工业出版社,2004,1二、课程简介《算法与数据结构》主要介绍在解决非数值计算的问题中如何合理地组织表示数据、有效地存储和处理数据,正确地设计算法以及对算法进行分析和评价。主要内容包括:集合、线性表、栈与队列、数组和广义表、树和二叉树、图、动态存储管理、查找、内部排序和外部排序等。对于所讨论的每种数据结构都介绍其逻辑结构定义(ADT)和物理存储实现以及相应操作的实现方法,并且介绍每种数据结构的主要应用。主要学习内容如下:1.了解数据结构及其分类,数据结构与算法的密切关系。2.熟悉各种基本数据结构及其操作,学会根据实际问题要求选择合适的数据结构。3.掌握设计算法的步骤和算法分析方法。4.掌握数据结构在排序和查找等常用算法中的应用。5.初步掌握文件的组织方法和索引技术。三、教学目的与基本要求本课程是信息类专业的一门综合性的专业课。主要介绍在解决非数值计算的问题中如何合理地组织和表示数据、有效地存储和处理数据、正确地设计算法以及对算法进行分析和评价。通过本课程的学习,使学生深刻地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,进而培养基本的、良好的程序设计技能,编制正确高效可靠和易读易懂的程序。并为学习后续的专业课程奠定良好的基础。教学目的:使学生较全面地掌握各种常用的数据结构,提高其数据抽象和程序设计能力,为学习后继软件课程提供坚实基础。基本要求:使学生能够从逻辑结构、存储结构和数据的运算三个方面去掌握各种数据结构的特性,理解数据结构内在的逻辑关系,以及它们在计算机中存储表示以及在这些数据结构上的运算和实际的执行算法,对算法的时间、空间复杂性有一定的分析能力,从而培养学生解决实际问题的程序设计能力。四、主要教学方法多媒体教学与传统教学、课堂讨论相结合,课外作业与辅导相结合的教学方式。五、教学进度表章次题目教学时数第一章绪论3学时第二章集合3学时第三章线性表6学时第四章栈和队列6学时第五章树和二叉树9学时第六章二叉树的应用6学时第七章图9学时第八章查找6学时第九章排序6学时总计54学时(注:以章为单位对教学内容做出学时要求安排。)六、考核方式和成绩评定办法1、考核方式:闭卷考试2、成绩评定办法:平时成绩10%,期中成绩20%,期末成绩70%七、正文绪论(教学时数3)教学目的:掌握本章的基本概念和术语;掌握算法描述和算法分析,对一般算法能分析其时间复杂度。教学重点:抽象数据类型、数据结构概念的理解。教学难点:算法的时间和空间复杂度的分析。第一节常用术语介绍抽象数据类型的基本概念;数据类型和数据结构的概念;数据结构、数据类型和抽象数据类型三者的区别和联系。第二节算法描述介绍算法的概念;什么是程序,程序与算法的区别和内在联系;列举求解问题的基本步骤。第三节算法评价介绍算法在最坏情况、最好情况和平均情况下的计算复杂性概念;算法复杂性的渐近性态的数学表述;表达算法的抽象机制;用C++语言描述算法与数据结构的方法。本章基本概念:数据、数据元素、数据记录、数据结构、数据类型、抽象数据类型、数据对象、算法、算法评价、时间复杂度、空间复杂度。本章作业:4题。集合(教学时数3)教学目的:本章介绍集合、以有序集为基础的抽象数据类型,以及它们的实现法方法。首先讨论的集合的运算是一些最常用的集合运算,如并集运算,交集运算,差集运算,插入运算,删除运算等。用顺序存储和链接存储方式是实现集合的2个常用的方法。在此基础上,继续讨论若干更复杂的以集合为基础的抽象数据类型及其实现方法。要求学生掌握集合的逻辑结构和各种存储结构的描述方法;熟练掌握集合的两类存储结构上的基本算法尤其是插入删除算法以及并集运算、交集运算、差集运算。了解基本算法的时间复杂度的计算方法。教学重点:集合的插入删除操作。教学难点:集合的并集运算、交集运算、差集运算。第一节集合的定义和运算介绍集合的定义和运算、集合的抽象数据类型、集合运算举例。第二节集合的顺序存储介绍集合的顺序存储结构和操作实现。第三节集合的链接存储介绍集合的链接存储结构和操作实现。本章基本概念:集合、顺序存储集合、链接存储集合。本章作业:4-5题。线性表(教学时数6)教学目的:本章介绍线性表这一抽象数据类型的基本概念及其逻辑特征。简要阐述实现抽象数据类型的一般步骤。按照抽象数据类型设计和