- 2
- 0
- 约8.57千字
- 约 49页
- 2018-11-09 发布于江苏
- 举报
武汉大学国际件学院
课程简介 对计算机专业的本科生来说,高级语言程序设计、数据结构、算法设计与分析是三门重要的必修课。 这三门课程都是教学生如何编写计算机程序的。 高级语言程序设计是程序设计的初级课程,主要是向学生传授高级程序设计语言的基础知识,对学生进行程序设计的初步训练。 数据结构是程序设计的中级课程,主要是培养学生分析数据、组织数据的能力,教学生如何编写效率高、结构好的程序。 算法设计与分析是程序设计的高级课程,主要是教学生学习各种典型的问题求解策略,学习对程序的时空性能作定量分析的方法。 教学用书 教材 薛超英著. 数据结构(第二版) . 华中科技大学出版社 习题集 薛超英著. 数据结构学习指导与题解. 华中科技大学出版社 参考书 严蔚敏等著. 数据结构. 清华大学出版社 许卓群等著. 数据结构. 高等教育出版社 王海涛等译. 数据结构.清华大学出版社 胡广斌等译. 数据结构与算法. 电子工业出版社 教学内容 第一章 概论 第二章 线性表 第三章 栈和队列 第四章 树形结构 第五章 图状结构 第六章 矩阵和广义表 第七章 查找 第八章 排序 第一章 概论 计算机的应用领域非常广泛,既可以用于科学 计算,也可以用于情报检索、企业管理,等等,而 它的功能概括起来却只有一个,那就是处理数据。 计算机所处理的数据不是杂乱无章的,而是有 着某种内在联系的。只有分清楚数据的内在联系, 合理地组织数据,才能对它们进行有效处理。如何 合理地组织数据、高效率地处理数据,正是本课程 的教学目的之所在。 作为全书的导引,本章扼要介绍有关数据结构 的几个重要概念和将要学习的主要内容。 本章学习内容 基本术语 数据的逻辑结构 数据的存储结构 数据的运算 算法分析 算法分析举例 基本术语 数据 一切能够输入到计算机中并被计算机程序处理的信息. 数据元素(结点) 数据的基本单位 . 数据项(字段) 数据的最小单位. 逻辑结构 结点和结点之间逻辑上的相互关系. 存储结构 数据在计算机中的存储表示 . 例藏书登记表 假设某人购买了许多图书,他打算用计算机来存储、管 理购书信息。他设计的个人书库管理程序具有以下功能: 统计某个时段买了哪些书?化了多少钱? 检查是否买过指定书号(或书名,或作者名)的书? 购书信息包括书号、书名、作者、购书时间、价格。他 设计的个人书库管理程序所要处理的数据就是这样的一些信 息。 为了能够有效处理数据,可以将数据组织成一张藏书登 记表(线性表 )。 数据 一张表格,描述所有藏书信息。 结点 表格的某一行,描述一本书的信息。 字段 表格某一行中的某一列,描述一本书的某项信息。 数据的逻辑结构 逻辑结构的二元组描述 逻辑结构的分类 逻辑结构的图示法描述 逻辑结构的二元组描述 在大多数情况下,数据的逻辑结构可以 用二元组 S=(D,R) 来表示。其中,D是结点的有限集合;R是结 点有序对的集合,表示D上的一种关系。 例如,二元组list=(D,R1),tree=(D,R2)和 graph=(D,R3)分别描述了具有5个结点的三种 不同的逻辑结构,其中, D={a,b,c,d,e} R1={a,b,b,c,c,d,d,e} R2={a,b,a,c,b,d,b,e} R3={a,b,a,c,d,a,e,c} 几个相关术语 对于某个逻辑结构 S=(D,R), 若a∈D,b∈D,a,b∈R,则称a是b的前驱,b是a的 后继; 若某结点没有前驱,则称该结点为开始结点; 若某结点没有后继,则称该结点为终端结点。 逻辑结构的分类 线性结构 有唯一的开始结点和终端结点;其余结点有且仅 有一个前驱,有且仅有一个后继。 树形结构 每个结点最多只有一个前驱,但可以有多个后 继,可以有多个终端结点。 图状结构 每个结点的前驱和后继的数目都可以是任意的。 逻辑结构的图示法描述 除二元组外
原创力文档

文档评论(0)