数据结构C语言
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据的逻辑结构和存储结构的关系是:存储结 构是逻辑关系的映像与元素本身映像,是数 据结构的实现;逻辑结构是数据结构的抽象。
返回到本节目录
1.1.3 数据的存储结构
1. 顺序存储结构 顺序存储结构:借助元素在存储器中的相对位
置来表示数据元素间的逻辑关系。 【例1.4】对于表1-1提出的学生信息登记表
集合上的一组操作的总称。 如在高级语言中,整型类型的取值范围为:-
32768~+32767,运算符集合为加、减、乘、 除、取模,即+、-、*、/、%。
返回到本节目录
1.1.1 基本概念及术语
5.数据类型(Data Type) 高级语言中的数据类型分为两大类: (1)原子类型 其值是不可分解的。如C语言中的标准类型
的关系外,别无其他关系,这是一种最简单 的数据结构。 (2)线性结构 结构中的数据元素之间存在着“一对一”的关 系。 【例1.1】学籍档案管理 假设一个学籍档案管理系统应包含如表1-1所 示的学生信息。
返回到本节目录
1.1.2 数据的逻辑结构
特点: 表中的每一行是一个数据元素(或记录、结点),它
由学号、姓名、性别及出生年月等数据项组成。 表中数据元素之间是一种先后关系,对于表中任一结
进行存储,假定每个元素占用50个存储单元, 数据从1000号单元开始由低地址向高地址 存放,对应的顺序存储结构如表1-3所示。
返回到本节目录
1.1.3 数据的存储结构
顺序存储结构的主要特点: ❖ 可实现对各数据元素的随机访问。这是因为
返回到本节目录
1.1.2 数据的逻辑结构
2.数据的逻辑结构的分类 根据数据元素之间的逻辑关系的不同特性,分
为下列四类基本结构,如图1-1所示。
(a)集合结构
(b)线性结构 (c)树型结构 (d)图形结构 图1-1 数据结构的四种基本逻Байду номын сангаас结构
返回到本节目录
1.1.2 数据的逻辑结构
(1)集合 结构中的数据元素之间除了“同属于一个集合”
返回到本节目录
1.1.2 数据的逻辑结构
(【例1.3】制定教学计划 在制定教学计划时,需要考虑各门课程的开设
顺序。有些课程需要先导先修课程,有些课 程则不需要,而有些课程又是其他课程的先 导先修课程。比如,计算机专业课程的开设 情况如表1-2所示。
返回到本节目录
1.1.2 数据的逻辑结构
教学计划的关系图如图1-3所示。
返回到本节目录
1.1.1 基本概念及术语
数据结构定义:按某种逻辑关系组织起来的一批数据, 按一定的映像方式把它存放在计算机存储器中,并 在这些数据上定义了一个运算的集合,就叫做数据 结构。
简言之,数据结构={ 逻辑结构+存储结构+运算集 合 }。
4.数据类型(Data Type) 数据类型是一组性质相同的值集合以及定义在这个值
C3
C8
C1
C9
C4
C6
C2
C7
C5
特点:
图1-3 教学计划关系图
图中数据元素存在着多对多的任意关系。一个 结点可能有多个直接前驱和直接后继。
返回到本节目录
1.1.3 数据的存储结构
数据在计算机中的存储表示称为数据的存储结 构,也称为物理结构。数据的存储结构是逻 辑结构在计算机存储器中的实现。本书将介 绍常用的两种基本的存储结构:顺序存储结 构和链式存储结构。
(整型、实型、字符型)。 (2)结构类型 其值是由若干成分按某种结构组成的,因此是
可以分解的。如C语言中的的构造类型(结 构体、共用体、枚举等类型)。
返回到本节目录
1.1.2 数据的逻辑结构
1.定义 数据的逻辑结构是指数据元素之间逻辑关系描
述。可以用一个二元组表示,其形式化描述 为: Data_Structure=(D,R) 其中D是数据元素的有限集合,R是D上关系 的有限集合。数据的逻辑结构是从逻辑关系 上描述数据,与数据的存储无关,是独立于 计算机的。
返返回回到到本总节目目录录
1.1.1 基本概念及术语
在系统的学习数据结构知识之前,先了解一些相 关概念和术语。
1.数据(Data)
指所有能输入到计算机中并被计算机程序处理的 符号的总称。例如,整数、实数、字符、图像、 声音等都是数据。
2.数据元素(Data Element)
数据元素(也称为结点)是数据的基本单位,在 计算机程序中通常作为一个整体进行考虑和处 理。一个数据元素可以由若干个数据项组成。 数据项是数据处理中不可分割的最小单位。
图1-2 人机对弈图
返回到本节目录
1.1.2 数据的逻辑结构
特点: 图中将每一个棋盘看作一个数据元素,则数据
元素之间的关系要比表1-1要复杂许多。 图中数据元素之间是一对多关系,即一个数据
元素向上和一个数据元素相连(称为双亲结 点),向下和多个数据元素相连(称为孩子 结点)。我们将这种关系称为“树型结构”。 4)图形结构或网状结构 结构中的任意数据元素之间都可以有关系,元 素之间存在着“多对多”的关系。
第1章 概论
本章主要介绍以下内容: ➢数据结构中涉及的相关概念 ➢数据结构研究的主要内容 ➢算法的概念、描述方法以及评价标准
本章目录
1
1.1 什么是数据结构
2
1.2 算法和算法分析
35
1.3本5.章5 小哈结夫曼树
结束
1.1 什么是数据结构
❖1.1.1 基本概念及术语 ❖1.1.2 数据的逻辑结构 ❖1.1.3 数据的存储结构 ❖1.1.4 抽象数据类型
点,与它相邻且在它前面的结点(称为直接前驱) 最多只有一个;与表中任一结点相邻且在其后的结 点(称为直接后继)也最多只有一个。我们将这种 关系称为“线性结构”。
返回到本节目录
1.1.2 数据的逻辑结构
(3)树型结构 结构中的数据元素之间存在着“一对多”的关
系。 【例1.2】人机对弈 人与计算机进行对弈的部分图如图1-2为所示。
返回到本节目录
1.1.1 基本概念及术语
3.数据结构(Data Structure) 是相互之间存在一种或多种特定关系的数据元
素的集合。这些数据元素不是孤立存在的, 而是有着某种关系,这种关系称为结构。 数据结构一般包括以下三个方面内容: (1)数据元素之间的逻辑关系,也称数据的 逻辑结构。 (2)数据元素及其关系在计算机存储器内的 表示,称为数据的存储结构。 (3)数据的运算,即对数据施加的操作。
返回到本节目录
1.1.3 数据的存储结构
1. 顺序存储结构 顺序存储结构:借助元素在存储器中的相对位
置来表示数据元素间的逻辑关系。 【例1.4】对于表1-1提出的学生信息登记表
集合上的一组操作的总称。 如在高级语言中,整型类型的取值范围为:-
32768~+32767,运算符集合为加、减、乘、 除、取模,即+、-、*、/、%。
返回到本节目录
1.1.1 基本概念及术语
5.数据类型(Data Type) 高级语言中的数据类型分为两大类: (1)原子类型 其值是不可分解的。如C语言中的标准类型
的关系外,别无其他关系,这是一种最简单 的数据结构。 (2)线性结构 结构中的数据元素之间存在着“一对一”的关 系。 【例1.1】学籍档案管理 假设一个学籍档案管理系统应包含如表1-1所 示的学生信息。
返回到本节目录
1.1.2 数据的逻辑结构
特点: 表中的每一行是一个数据元素(或记录、结点),它
由学号、姓名、性别及出生年月等数据项组成。 表中数据元素之间是一种先后关系,对于表中任一结
进行存储,假定每个元素占用50个存储单元, 数据从1000号单元开始由低地址向高地址 存放,对应的顺序存储结构如表1-3所示。
返回到本节目录
1.1.3 数据的存储结构
顺序存储结构的主要特点: ❖ 可实现对各数据元素的随机访问。这是因为
返回到本节目录
1.1.2 数据的逻辑结构
2.数据的逻辑结构的分类 根据数据元素之间的逻辑关系的不同特性,分
为下列四类基本结构,如图1-1所示。
(a)集合结构
(b)线性结构 (c)树型结构 (d)图形结构 图1-1 数据结构的四种基本逻Байду номын сангаас结构
返回到本节目录
1.1.2 数据的逻辑结构
(1)集合 结构中的数据元素之间除了“同属于一个集合”
返回到本节目录
1.1.2 数据的逻辑结构
(【例1.3】制定教学计划 在制定教学计划时,需要考虑各门课程的开设
顺序。有些课程需要先导先修课程,有些课 程则不需要,而有些课程又是其他课程的先 导先修课程。比如,计算机专业课程的开设 情况如表1-2所示。
返回到本节目录
1.1.2 数据的逻辑结构
教学计划的关系图如图1-3所示。
返回到本节目录
1.1.1 基本概念及术语
数据结构定义:按某种逻辑关系组织起来的一批数据, 按一定的映像方式把它存放在计算机存储器中,并 在这些数据上定义了一个运算的集合,就叫做数据 结构。
简言之,数据结构={ 逻辑结构+存储结构+运算集 合 }。
4.数据类型(Data Type) 数据类型是一组性质相同的值集合以及定义在这个值
C3
C8
C1
C9
C4
C6
C2
C7
C5
特点:
图1-3 教学计划关系图
图中数据元素存在着多对多的任意关系。一个 结点可能有多个直接前驱和直接后继。
返回到本节目录
1.1.3 数据的存储结构
数据在计算机中的存储表示称为数据的存储结 构,也称为物理结构。数据的存储结构是逻 辑结构在计算机存储器中的实现。本书将介 绍常用的两种基本的存储结构:顺序存储结 构和链式存储结构。
(整型、实型、字符型)。 (2)结构类型 其值是由若干成分按某种结构组成的,因此是
可以分解的。如C语言中的的构造类型(结 构体、共用体、枚举等类型)。
返回到本节目录
1.1.2 数据的逻辑结构
1.定义 数据的逻辑结构是指数据元素之间逻辑关系描
述。可以用一个二元组表示,其形式化描述 为: Data_Structure=(D,R) 其中D是数据元素的有限集合,R是D上关系 的有限集合。数据的逻辑结构是从逻辑关系 上描述数据,与数据的存储无关,是独立于 计算机的。
返返回回到到本总节目目录录
1.1.1 基本概念及术语
在系统的学习数据结构知识之前,先了解一些相 关概念和术语。
1.数据(Data)
指所有能输入到计算机中并被计算机程序处理的 符号的总称。例如,整数、实数、字符、图像、 声音等都是数据。
2.数据元素(Data Element)
数据元素(也称为结点)是数据的基本单位,在 计算机程序中通常作为一个整体进行考虑和处 理。一个数据元素可以由若干个数据项组成。 数据项是数据处理中不可分割的最小单位。
图1-2 人机对弈图
返回到本节目录
1.1.2 数据的逻辑结构
特点: 图中将每一个棋盘看作一个数据元素,则数据
元素之间的关系要比表1-1要复杂许多。 图中数据元素之间是一对多关系,即一个数据
元素向上和一个数据元素相连(称为双亲结 点),向下和多个数据元素相连(称为孩子 结点)。我们将这种关系称为“树型结构”。 4)图形结构或网状结构 结构中的任意数据元素之间都可以有关系,元 素之间存在着“多对多”的关系。
第1章 概论
本章主要介绍以下内容: ➢数据结构中涉及的相关概念 ➢数据结构研究的主要内容 ➢算法的概念、描述方法以及评价标准
本章目录
1
1.1 什么是数据结构
2
1.2 算法和算法分析
35
1.3本5.章5 小哈结夫曼树
结束
1.1 什么是数据结构
❖1.1.1 基本概念及术语 ❖1.1.2 数据的逻辑结构 ❖1.1.3 数据的存储结构 ❖1.1.4 抽象数据类型
点,与它相邻且在它前面的结点(称为直接前驱) 最多只有一个;与表中任一结点相邻且在其后的结 点(称为直接后继)也最多只有一个。我们将这种 关系称为“线性结构”。
返回到本节目录
1.1.2 数据的逻辑结构
(3)树型结构 结构中的数据元素之间存在着“一对多”的关
系。 【例1.2】人机对弈 人与计算机进行对弈的部分图如图1-2为所示。
返回到本节目录
1.1.1 基本概念及术语
3.数据结构(Data Structure) 是相互之间存在一种或多种特定关系的数据元
素的集合。这些数据元素不是孤立存在的, 而是有着某种关系,这种关系称为结构。 数据结构一般包括以下三个方面内容: (1)数据元素之间的逻辑关系,也称数据的 逻辑结构。 (2)数据元素及其关系在计算机存储器内的 表示,称为数据的存储结构。 (3)数据的运算,即对数据施加的操作。