《数据结构》课程教学设计.docx
《《数据结构》课程教学设计.docx》由会员分享,可在线阅读,更多相关《《数据结构》课程教学设计.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程教学设计 数据结构课程教学设计 一、课程内容体系 1. 基本描述 课程中文名称:数据结构 课程英文译名:Data Structures 总学时:授课 40 学时实验 20 学时 授课对象:计算机专业、自动化专业、信息专业、通讯专业、数学专业 课程要求:必修课 课程分类:专业(技术)基础 开课时间:第4学期 先修课:工科数学分析、高级语言程序设计或C+程序设计、集合与图论2. 教学定位 数据结构是计算机科学与技术各专业及其相关的一门专业基础课;是计算机科学与技术专业课程体系中的核心课程之一;是设计和实现编译程序、操作系统、数据库系统和其它系统软件、应用软件的重要基础。其后续课程有操作
2、系统、编译原理、数据库系统概论、算法分析、图像处理等。在整个计算机知识体系中,数据结构具有不可替代的作用。瑞士著名的计算机科学家沃思教授曾提出:算法数据结构程序。算法:是对数据运算的描述;数据结构:是指数据的逻辑结构和存储结构。程序设计的实质是对实际问题选择一种好的数据结构,加之设计一个好的算法,而好的算法在很大程度上取决于描述实际问题的数据结构。由此可见数据结构在解决计算机问题中的重要地位。 学习本课程旨在使学生较全面地掌握各种常用的数据结构,为学习后续软件课程提供必要的基础,掌握和不断提高运用数据结构解决实际问题的能力。通过本门课程的学习,使学生透彻地理解各种数据结构对象的特点,学会各种数
3、据结构的组织方法和实现方法,并进一步培养良好的程序设计编程能力。同时,学习数据结构的过程也是复杂程序设计的训练过程,要求学生编 写的程序结构清楚、正确易读,符合软件过程的规范,从而培养学生的数据抽象能力。因此,要想有效地进行数据组织和程序开发,就必须掌握数据结构的知识。 课程的内容重点立足于基础知识和基础理论的掌握、应用能力的培养以及实践能力的提高。该课程通过一些最常用的数据结构的介绍,阐明了数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种典型应用说明它们在进行各种运算时的动态性质及实际的执行算法。具体来说,就是从数据结构的逻辑结构、存储结构和数据的操作三个方面使学生较好的掌握
4、线性表、树、二叉树、图和文件等常用的数据结构的基本概念及构建方法。并掌握在各种常用数据结构上实现的查找和排序算法。同时对算法的时间和空间复杂性有一定的分析能力。在课程学习结束后要求学生针对简单的应用问题,能够选择合适的数据结构设计并编写出有效的算法程序。 本课程是实践性很强的一门课程,不但要求学生要深刻理会相应的基本理论、基本原理等知识,还要求学生亲自动手设计、上机实现各种算法,以达到使学生理论与实践相结合,综合应用各知识点的目的,巩固、加深所学的理论,并培养学生的科学研究能力和创新精神,并为后继课程的学习奠定坚实的基础。 3. 知识点与学时分配 第一章绪论(1学时) 数据结构的基本概念和术语
5、;数据结构在软件系统中的作用;课程的研究和学习内容等;算法及其特征;算法性能度量指标;算法时间和空间复杂性及其分析方法。 第二章线性表(4学时) 线性表的逻辑结构、各种存储结构、基本操作(算法)的实现及性能分析、不同存储结构的比较、线性表的应用等。 第三章栈与队列(4学时) 栈和队列的逻辑结构定义及在两种存储结构上如何实现栈和队列的基本操作。栈和队列的本质区别,并且能在相应的应用问题中正确选用它们。栈和队列的应用。 第四章串(2学时) 串的逻辑结构、存储结构及其上的基本操作,由于C语言及其它高级语言均已具备了较强的串处理功能,故重点讲述在实际中广泛使用的串的模式匹配算法。 第五章多维数组和广义
6、表(2学时) 多维数组的逻辑结构特征及其存储方式,特殊矩阵和稀疏短阵的压缩存储方法及广义表的概念和性质。 第六章树(8学时) 二叉树的定义、性质、存储结构、遍历、线索化;树的定义、存储结构、遍历;树和森林与二叉树的转换;树(森林)与二叉树的应用(哈夫曼树及其应用、集合表示与等价分类、表达式求值) 习题课(1学时) 线性结构和树的习题 第七章图及其相关算法(8学时) 无向和有向图的基本概念、两种常用的存储结构、两种遍历算法以及图的应用算法(最小生成树算法、求关节点和双连通分量算法、强连通性判定和求双连通分量的算法、拓扑分类算法、关键路径算法、最短路径算法等)。 第八章查找(4学时) 在线性表、树
7、结构和散列表上进行查找的基本思想和方法、查找算法的实现以及各种查找方法的时间性能(平均查找长度)分析;基于关键字的查找与基于关键字散列地址的查找的本质区别。 第九章内部排序(4学时) 内部排序方法的基本思想、排序过程、算法实现、时间和空间性能的分析以及各种排序方法的比较和选择。 习题课(2学时) 总结与习题 二、教材选择 本课程选用严蔚敏、吴伟民编写的数据结构(清华出版社、C语言版)。 该教材是国内的经典教材,一方面反映领域基础性、普遍性的知识,保持内容体系的完整,另一方面又紧跟科技发展,内容丰富,体系结构严谨,概念清晰,易学易懂,符合学生的认识规律,与该教材配套的习题集和上级指导一起形成了完
8、整的体系。该教材曾获“第二届普通高等学校优秀教材全国特等奖”和“1996年度国家科学技术进步奖三等奖”的基础上再版的,该教材目前的发行量已超过100万册。本教材具有以下特点:涵盖教学大纲内容,兼顾知识的广度和深度,适用面广;引入抽象数据类型的基本概念,有助于培养学生的数据抽象和算法设计能力;以C伪码语言描述存储结构和算法,有助于提高学生的程序设计能力;对算法进行详尽的定性或定量的时间分析,有助于奠定学生的算法分析基础;提供了全书120余个算法C语言源码、80余个算法执行过程的动态演示,有助于学生对数据结构和算法的分析和理解。 本课程的参考书选用郭福顺、廖明宏等编著的数据结构与算法基础、唐策善等
9、编著的数据结构用C语言描述,高等教育出版社出版和数据结构影印原版书籍。其中郭福顺、廖明宏等编著的数据结构与算法基础于2000年改造完成为21世纪高等教育规划教材数据结构与算法基础,由单纯的注重数据结构转变为数据结构与算法并重,保持了教材的先进性。本教材力求突出以下特点:简洁避开了高深的理论,简明扼要地介绍学生最需要的基础知识和技术;通俗通过通俗易懂的语言讲授计算机专业技术知识;先进在内容上吸收新技术、新动向,保持一定的前沿性。实用本套书能既适合于教,更适合于学,对高等学校计算机专业的教学具有较强的适用性。 三、课堂讲授 1、教学要求、重点、难点和教学内容 以线性表、树、二叉树、图等常用的数据结
10、构的逻辑结构、存储结构和数据的操作以及各种常用数据结构上实现的查找和排序算法为主要内容,培养和训练对算法的复杂性的分析能力以及选择合适的数据结构对实际的应用问题进行有效算法的设计能力。 第一章绪论 教学要求: 本章目的是介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本操作及其在存储结构上如何实现这些基本操作。要求在熟悉这些内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题。本章重点是:数据结构的逻辑结构、存储结构以及基本操作的概念及相互关系,抽象数据类型(ATD)的概念和实现方法,算法时间复杂性和空间复杂性分
11、析。本章难点是: 抽象数据类型(ATD)的概念和实现方法,算法时间复杂性和空间复杂性分析。 教学内容: 1. 数据结构的基本概念和术语。 (1) 数据、数据元素、数据项、数据结构等基本概念。 (2) 数据结构的逻辑结构、存储结构及数据操作的含义及其相互关系。 (3) 数据结构的两大类逻辑结构和四种常用的存储表示方法。 2. 抽象数据类型。 (1) 抽象数据类型的表示。 (2) 抽象数据类型的实现。 3. 算法的描述和分析 (1) 算法、算法的时间复杂度和空间复杂度、最坏的和平均的时间复杂度等概念。 (2) 算法的时间复杂度不仅仅依赖于问题的规模,也取决于输入实例的初始状态。 (3) 算法描述和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程 教学 设计
限制150内