数据结构 主讲:玉敬华 华中师乾大学计犷机科学系
主讲:王敬华 数据结构 华中师范大学计算机科学系
课程发展的历史前沿 《数据结构》作为一门独立的课程在国外是从1968年才 开始设立的。在这之前,它的某些内容曾在其它课程,如表 处理语言中有所阐述。1968年在美国一些大学的计算机系的 教学计划中,虽然把《数据结构》规定为一门课程,但对课 程的范围没有作明确规定。当时数据结构几乎和图论特别是 和表、树的理论为同义语。随后数据结构这个概念被扩充到 包括网络、集合代数论、格、关系等方面,从而变成了现在 称之为《离散数学》的内容。然而,由于数据结构在计算机 中进行处理,因此,不仅考虑数据本身的数学性质,而且还 考虑数据的存储结构,这就进一步扩大了数据结构的内容。 近年来,随着数据库系统的不断发展,在数据结构课程中又 增加了文件管理(特别是大型文件的组织等)的内容
《数据结构》作为一门独立的课程在国外是从1968年才 开始设立的。在这之前,它的某些内容曾在其它课程,如表 处理语言中有所阐述。1968年在美国一些大学的计算机系的 教学计划中,虽然把《数据结构》规定为一门课程,但对课 程的范围没有作明确规定。当时,数据结构几乎和图论,特别是 和表、树的理论为同义语。随后,数据结构这个概念被扩充到 包括网络、集合代数论、格、关系等方面,从而变成了现在 称之为《离散数学》的内容。然而,由于数据结构在计算机 中进行处理,因此,不仅考虑数据本身的数学性质,而且还 考虑数据的存储结构,这就进一步扩大了数据结构的内容。 近年来,随着数据库系统的不断发展,在数据结构课程中又 增加了文件管理(特别是大型文件的组织等)的内容。 课程发展的历史前沿
碟程些质与地侁 《数据结构》是高等学校计算机学科的核心课程 ,是学习计算机软件应用和开发必备的专业基础。 随着计算机的日益普及,它还是“软件资格水平考 试”和“考研”的必考科目 同时,数据结构还是一门实践性很强的课程, 其与高级程序设计语言有着非常密切的关系,不熟 练掌握髙级程序设计语言,就不能很好的理解数据 结构中有关算法的精髓
《数据结构》是高等学校计算机学科的核心课程 ,是学习计算机软件应用和开发必备的专业基础。 随着计算机的日益普及,它还是“软件资格水平考 试”和“考研”的必考科目。 同时,数据结构还是一门实践性很强的课程, 其与高级程序设计语言有着非常密切的关系,不熟 练掌握高级程序设计语言, 就不能很好的理解数据 结构中有关算法的精髓。 课程性质与地位
课程要內容 本课程介绍如何对各种数据进行组织,并在计 算机中对其进行存储、传递和转换。内容包括:数 组、链表、栈和队列、递归、树与森林、图、查找 内部排序、外部排序与文件结构等。 课程强化数据结构基本知识和程序设计基本能 力的双基训练。为后续计算机专业课程的学习打下 坚实的基础。 先修课:C语言猩序计、计算机敷学(离散數学
本课程介绍如何对各种数据进行组织,并在计 算机中对其进行存储、传递和转换。内容包括:数 组、链表、栈和队列、递归、树与森林、图、查找 、内部排序、外部排序与文件结构等。 课程强化数据结构基本知识和程序设计基本能 力的双基训练。为后续计算机专业课程的学习打下 坚实的基础。 先修课:C语言程序设计、计算机数学(离散数学) 课程主要内容
本碟程目的 ·数据结构的前期课程主要有程序设计语言, 学好这门课,可以加深对程序设计的理解 有助于进一步提高程序设计能力,并为计算 机专业后续课程,如数据库、操作系统、编 译原理、软件工程等课程奠定良好的基础。 教材:数据结构及应用算法教程 严蔚敏,陈文博清华大学出版社
• 数据结构的前期课程主要有程序设计语言, 学好这门课,可以加深对程序设计的理解, 有助于进一步提高程序设计能力,并为计算 机专业后续课程,如数据库、操作系统、编 译原理、软件工程等课程奠定良好的基础。 教材:数据结构及应用算法教程 严蔚敏,陈文博 清华大学出版社 本课程目的
参考书 1、《数据结构》(C语言版 严蔚敏清华大学出版社 2、《数据结构》 黄国瑜、叶乃菁清华大学出版社 3、《数据结构》(C语言版) 陈峰祺 中国铁道出版社 4、《数据结构、算法与应用》(C++语言描述) 汪诗林等译机械工业出版社 5、《数据结构》算法实现及解析 高一凡西安电子科技大学出版社 6、《数据结构》学习指导与训练 蒋盛益中国水利水电出版社 7、各类《数据结构》考研全真试题集与解答
参 考 书 1、《数据结构》(C语言版) 严蔚敏 清华大学出版社 2、《数据结构》 黄国瑜、叶乃菁 清华大学出版社 3、《数据结构》(C语言版) 陈峰祺 中国铁道出版社 4、《数据结构、算法与应用》(C++语言描述) 汪诗林等译 机械工业出版社 5、《数据结构》算法实现及解析 高一凡 西安电子科技大学出版社 6、《数据结构》学习指导与训练 蒋盛益 中国水利水电出版社 7、各类《数据结构》考研全真试题集与解答
本课程的教学目标 1.掌握常用的数据的逻辑结构及存储方法,学 会编写在常用的存储方式下数据的基本操作 的算法。 2.学会分析问题,并能正确的选择合适的数据 结构和算法进行程序设计 了解算法时间、空间开销的分析方法。 4.通过基本算法的学习和上机实践,强化程序 设计的基本训练,提高编程能力,为进行软 件开发打下良好的基础
本课程的教学目标 1.掌握常用的数据的逻辑结构及存储方法,学 会编写在常用的存储方式下数据的基本操作 的算法。 2.学会分析问题,并能正确的选择合适的数据 结构和算法进行程序设计。 3.了解算法时间、空间开销的分析方法。 4.通过基本算法的学习和上机实践,强化程序 设计的基本训练,提高编程能力,为进行软 件开发打下良好的基础
内容安排(72授课+36 实验) 章内容学时章内容学时 1绪论 46二叉树和树10 2线性表 8 7图和广义表12 3排序 88查找表8 4栈和队列69文件 5串和数组610程序设计示6 例
内容安排 (72授课+36 实验) 章 内容 学时 章 内容 学时 1 绪论 4 6 二叉树和树 10 2 线性表 8 7 图和广义表 12 3 排序 8 8 查找表 8 4 栈和队列 6 9 文件 4 5 串和数组 6 10 程序设计示 例 6
教据构 考核形式: 平时表现(老情、回答问题):10% 平时作业(基本作业) :10 课程设计(实验报告) :20% 期未老试(闭卷笔试) 60‰
考核形式: 平时表现(考情、回答问题):10% 平时作业(基本作业) :10% 课程设计(实验报告) :20% 期末考试(闭卷笔试) :60% 数 据 结 构
數据构 实验上机:在微机上即可。安装C++的编译程序。 使用 Borland c+或 Visual c++都可以。前者的 系统体积小-些。但同一个源程序在这两个编译器 上可能会出现不同的编译信息。 本着教学相长的精神,希望经常对教学效果作 出反馈,以便及时改进教学方法。 学好一门课程,教师的引导回然十分重要,但 主要靠学生的自身努力。课堂教学可以起到画龙点 睛的作用,但只有不断练习,才能巩固、掌握课程 的内容。因此,本课程要求同学积极独立完成所布 置的习题及实验内容
实验上机:在微机上即可。安装C++的编译程序。 使用Borland C++ 或 Visual C++ 都可以。前者的 系统体积小一些。但同一个源程序在这两个编译器 上可能会出现不同的编译信息。 本着教学相长的精神,希望经常对教学效果作 出反馈,以便及时改进教学方法。 学好一门课程,教师的引导固然十分重要,但 主要靠学生的自身努力。课堂教学可以起到画龙点 睛的作用,但只有不断练习,才能巩固、掌握课程 的内容。因此,本课程要求同学积极独立完成所布 置的习题及实验内容。 数 据 结 构