清华大学计算机系:《数据结构》电子书(共六章)

数据结构 计算机系
数 据 结 构 计算机系

第一章绪论 1.1什么是数据结构 1.2基本概念和术语 1.3抽象数据类型的表示与实现 14算法和算法分 14.1算法 142算法设计的要求 143算法效率的度量 144算法的存储空间的需求
第一章 绪 论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分 1.4.1 算法 1.4.2 算法设计的要求 1.4.3 算法效率的度量 1.4.4 算法的存储空间的需求

第一章绪论 ●计算机是一门研究用计算机进行信息表示和处 理的科学。这里面涉及到两个问题: 信息的表示 信息的处理 而信息的表示和组又直接关系到处理信息的 程序的效率。随着计算机的普及,信息量的增 加,信息范围的拓宽,使许多系统程序和应用 程序的规模很大,结构又相当复杂。因此,为 了编写出一个“好”的程序,必须分析待处理 的对象的特征及各对象之间存在的关系,这就 是数据结构这门课所要研究的问题
第一章 绪 论 ⚫ 计算机是一门研究用计算机进行信息表示和处 理的科学。这里面涉及到两个问题: ⚫ 信息的表示 信息的处理 而信息的表示和组又直接关系到处理信息的 程序的效率。随着计算机的普及,信息量的增 加,信息范围的拓宽,使许多系统程序和应用 程序的规模很大,结构又相当复杂。因此,为 了编写出一个“好”的程序,必须分析待处理 的对象的特征及各对象之间存在的关系,这就 是数据结构这门课所要研究的问题

1.1什么是数据结构 众所周知,计算机的程序是对信息进行加工处理 在大多数情况下,这些信息并不是没有组织,信息 (数据)之间往往具有重要的结构关系,这就是数据 结构的内容。那么,什么是数据结构呢?先看以下几 个例子。 例1、电话号码查询系统 设有一个电话号码薄,它记录了N个人的名字和其 相应的电话号码,假定按如下形式安排 (al, b1(a2, b2).(an, bn) ●其中a,b(i=1,2.n)分别表示某人的名字和对应的电 话号码要求设计一个算法,当给定任何一个人的名字 时,该算法能够打印出此人的电话号码,如果该电话 簿中根本就没有这个人,则该算法也能够报告没有这 个人的标志
⚫ 1.1什么是数据结构 ⚫ 众所周知,计算机的程序是对信息进行加工处理。 在大多数情况下,这些信息并不是没有组织,信息 (数据)之间往往具有重要的结构关系,这就是数据 结构的内容。那么,什么是数据结构呢?先看以下几 个例子。 ⚫ 例1、电话号码查询系统 ⚫ 设有一个电话号码薄,它记录了N个人的名字和其 相应的电话号码,假定按如下形式安排: ⚫ (a1,b1)(a2,b2)…(an,bn) ⚫ 其中ai,bi(i=1,2…n) 分别表示某人的名字和对应的电 话号码要求设计一个算法,当给定任何一个人的名字 时,该算法能够打印出此人的电话号码,如果该电话 簿中根本就没有这个人,则该算法也能够报告没有这 个人的标志

算法的设计,依赖于计算机如何存储人的 名字和对应的电话号码,或者说依赖于名字和 其电话号码的结构 数据的结构,直接影响算法的选择和效率。 上述的问题是一种数据结构问题。可将名 字和对应的电话号码设计成:二维数组、表结 构、向量 假定名字和其电话号码逻辑上已安排成N 元向量的形式,它的每个元素是一个数对(a1 b),1≤in 数据结构还要提供每种结构类型所定义的 各种运算的算法
⚫ 算法的设计,依赖于计算机如何存储人的 名字和对应的电话号码,或者说依赖于名字和 其电话号码的结构。 ⚫ 数据的结构,直接影响算法的选择和效率。 ⚫ 上述的问题是一种数据结构问题。可将名 字和对应的电话号码设计成:二维数组、表结 构、向量。 假定名字和其电话号码逻辑上已安排成N 元向量的形式,它的每个元素是一个数对(ai, bi), 1≤i≤n 数据结构还要提供每种结构类型所定义的 各种运算的算法

例2、图书馆的书目检索系统自动化问题 例3、教师资料档案管理系统 例4、多叉路口交通灯的管理问题 P3 通过以上几例可以直接地认为:数据结构 就是研究数据的逻辑结构和物理结构以及它们 之间相互关系,并对这种结构定义相应的运算, 而且确保经过这些运算后所得到的新结构仍然 是原来的结构类型
例2、图书馆的书目检索系统自动化问题 例3、教师资料档案管理系统 例4、多叉路口交通灯的管理问题 P3 通过以上几例可以直接地认为:数据结构 就是研究数据的逻辑结构和物理结构以及它们 之间相互关系,并对这种结构定义相应的运算, 而且确保经过这些运算后所得到的新结构仍然 是原来的结构类型

12基本概念和术语 数据(ata)是对信息的一种符号表示。在计 算机科学中是指所有能输入到计算机中并被 计算机程序处理的符号的总称 数据元素( Data element):是数据的基本单位, 在计算机程序中通常作为一个整体进行考虑 和处理。 个数据元素可由若干个数据项组成。数 据项是数据的不可分割的最小单位。 数据对象≌的集 et:是性质相同的数据元 素的集合。是数据 数据结构( Data structure:是相互之间存在 种或多种特定关系的数据元素的集合
⚫ 1.2 基本概念和术语 ⚫ 数据(Data):是对信息的一种符号表示。在计 算机科学中是指所有能输入到计算机中并被 计算机程序处理的符号的总称。 ⚫ 数据元素(Data Element):是数据的基本单位, 在计算机程序中通常作为一个整体进行考虑 和处理。 ⚫ 一个数据元素可由若干个数据项组成。数 据项是数据的不可分割的最小单位。 ⚫ 数据对象(Data Object):是性质相同的数据元 素的集合。是数据的一个子集。 ⚫ 数据结构(Data Structure):是相互之间存在一 种或多种特定关系的数据元素的集合

●数据结构主要指逻辑结构和物理结构 数据之间的相互关系称为逻辑结构。通常分 为四类基本结构: 集合结构中的数据元素除了同属于一种 类型外,别无其它关系。 线性结构结构中的数据元素之间存在 对一的关系 树型结构结构中的数据元素之间存在 对多的关系。 ●四、图状结构或网状结构结构中的数据元素 之间存在多对多的关系
⚫ 数据结构主要指逻辑结构和物理结构 ⚫ 数据之间的相互关系称为逻辑结构。通常分 为四类基本结构: ⚫ 一、集合 结构中的数据元素除了同属于一种 类型外,别无其它关系。 ⚫ 二、线性结构 结构中的数据元素之间存在一 对一的关系。 ⚫ 三、树型结构 结构中的数据元素之间存在 一对多的关系。 ⚫ 四、图状结构或网状结构 结构中的数据元素 之间存在多对多的关系。 ⚫

数据结构的形式定义为:数据结构是一个二元 组 Data-Structure=D, S) 其中:D是数据元素的有限集,S是D上关系的 有限集。 例复数的数据结构定义如下: Complex(C, r) 米其中:C是含两个实数的集合{C1,C2},分 别表示复数的实部和虚部。R={P},P是定义在 集合上的一种关系{(C1,C2〉} 数据结构在计算机中的表示称为数据的物理结 构,又称为存储结构
数据结构的形式定义为:数据结构是一个二元 组: Data-Structure=(D,S) 其中:D是数据元素的有限集,S是D上关系的 有限集。 例 复数的数据结构定义如下: Complex=(C,R) 其中:C是含两个实数的集合﹛C1,C2﹜,分 别表示复数的实部和虚部。R={P},P是定义在 集合上的一种关系{〈C1,C2〉}。 数据结构在计算机中的表示称为数据的物理结 构,又称为存储结构

数据对象可以是有限的,也可以是无限的 数据结构不同于数据类型,也不同于数据对 象,它不仅要描述数据类型的数据对象,而且 要描述数据对象各元素之间的相互关系。 ●抽象数据类型:一个数学模型以及定义在该模 型上的一组操作 抽象数据类型实际上就是对该数据结构的 定义。因为它定义了一个数据的逻辑结构以及 在此结构上的一组算法 用三元组描述如下: (D, s, P)
⚫ 数据对象可以是有限的,也可以是无限的。 ⚫ 数据结构不同于数据类型,也不同于数据对 象,它不仅要描述数据类型的数据对象,而且 要描述数据对象各元素之间的相互关系。 ⚫ 抽象数据类型:一个数学模型以及定义在该模 型上的一组操作。 ⚫ 抽象数据类型实际上就是对该数据结构的 定义。因为它定义了一个数据的逻辑结构以及 在此结构上的一组算法。 ⚫ 用三元组描述如下: ⚫ (D,S,P)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《黑客攻击秘技随手查》电子书.pdf
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第九章 ADO.NET数据库编程.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第八章 Visua| Basic net面向对象程序设计开发.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第七章 多媒体编程.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第六章 文件管理与菜单设计.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第五章 过程.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第四章 VB.NT程序流程控制.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第三章 顺序结构设计.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第二章 Visua| Basic net语言基础.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第一章 NET Framework概述(主编:徐振明).ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第十三章 Visual Basic.NET组件开发.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第十二章 应用程序的安装与部署.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第十一章 VB.NET Mobile应用程序设计.ppt
- 中国水利水电出版社:《Visual Basic.NET程序设计与应用》课程教材电子教案(PPT课件讲稿)第十章 ASP.NET Web程序设计.ppt
- 21世纪高职高专规划教材:《计算机基础》项目四 mv203文档处理软件.ppt
- 21世纪高职高专规划教材:《计算机基础》项目六 Powerpoint幻灯片制作.ppt
- 21世纪高职高专规划教材:《计算机基础》项目五 Excel 22003表格处理软件.ppt
- 21世纪高职高专规划教材:《计算机基础》项目二 键盘及文字录.ppt
- 21世纪高职高专规划教材:《计算机基础》项目三 中文hw和P操作系统.ppt
- 21世纪高职高专规划教材:《计算机基础》项目七 Iuternet网络应用.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第10章 声卡与音箱.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第11章 网卡及网络连接.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第12章 键盘、鼠标和外设.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第13章 微机硬件的组装.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第14章 微机的维护及常见故障排除.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第1章 微型计算机简介.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第2章 中央处理器.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第3章 主板.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第4章 内存.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第5章 显示卡.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第6章 显示器.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第7章 硬盘驱动器.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第8章 光盘驱动器和光盘.ppt
- 《PC组装与维护》课程电子教案(PPT教学课件)第9章 移动存储设备.ppt
- 《新编C语言程序设计教程》电子教案(PPT课件讲稿)封面及目录.ppt
- 《新编C语言程序设计教程》电子教案(PPT课件讲稿)第10章 指针类型.ppt
- 《新编C语言程序设计教程》电子教案(PPT课件讲稿)第11章 文件类型.ppt
- 《新编C语言程序设计教程》电子教案(PPT课件讲稿)第12章 编译预处理.ppt
- 《新编C语言程序设计教程》电子教案(PPT课件讲稿)第13章 C到C++.ppt
- 《新编C语言程序设计教程》电子教案(PPT课件讲稿)第14章 C语言程序设计实例.ppt