数据结构——基础知识
前序
在学习数据结构之前,得先明白数据结构主要是研究什么的?
在日常生活中,我们常常能听到结构一词,如一个公司,往往由多个部门组成,这些部门不是单一存在的,而是相互联系的,那么部门之间靠什么联系在一起呢?当然是公司的管理机构,而这个机构就是我们所说的结构。结构,简单的理解就是关系。严格点说,结构是指各个组成部分相互搭配和排列的方式。在现实世界中,不同数据元素之间不是独立的,而是存在特定的关系,这种关系称之为结构,又主要研究对象是数据,故称数据结构。
基本概念
一、数据(Data)
- 数据:是描述客观事物的符号表示,是能输入到计算机中并被计算机程序处理的符号总称。
- 数据可以是数值类型,如:整数、实数等;也可以是非数值类型,如字符、文字、语音、图像、视频等。
二、数据对象(Data Object)
- 是具有相同特征的数据元素的集合,是数据的一个子集。
三、数据元素(Data Element)
- 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为节点或记录。
四、数据项(Data Item)
- 数据项:一个数据元素可以有若干数据项组成,数据项是数据不可分割的最小单位。
逻辑结构
逻辑结构:描述数据元素之间的关系的结构。
集合 | 线性结构 | 树形结构 | 图状结构 |
---|---|---|---|
元素同属一个集合,元素间没有关系 | 元素之间一对一 | 元素之间一对多 | 元素之间多对多 |
存储结构
存储结构:实际存储元素的物理结构,分为顺序存储和链式存储。
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。因为该地址空间是连续的,所以计算机顺着地址空间即可找到对应的数据元素,一一对应。
1 | 2 | 3 | 4 | 5 |
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。这时计算机在顺着地址空间无法正确找到对应的数据元素,所以人们就想出用另一个变量去存储下一个元素的地址,即指针。
1 | 2 | 3 | 4 | 5 |
总结
数据结构是研究数据及其相互关系的学科;逻辑结构是面向问题的(人脑思维),物理结构是面向计算机的(客观世界);其基本目标就是将数据及其逻辑关系存储到计算机的内存中。
数据结构——基础知识
前序
在学习数据结构之前,得先明白数据结构主要是研究什么的?
在日常生活中,我们常常能听到结构一词,如一个公司,往往由多个部门组成,这些部门不是单一存在的,而是相互联系的,那么部门之间靠什么联系在一起呢?当然是公司的管理机构,而这个机构就是我们所说的结构。结构,简单的理解就是关系。严格点说,结构是指各个组成部分相互搭配和排列的方式。在现实世界中,不同数据元素之间不是独立的,而是存在特定的关系,这种关系称之为结构,又主要研究对象是数据,故称数据结构。
基本概念
一、数据(Data)
- 数据:是描述客观事物的符号表示,是能输入到计算机中并被计算机程序处理的符号总称。
- 数据可以是数值类型,如:整数、实数等;也可以是非数值类型,如字符、文字、语音、图像、视频等。
二、数据对象(Data Object)
- 是具有相同特征的数据元素的集合,是数据的一个子集。
三、数据元素(Data Element)
- 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为节点或记录。
四、数据项(Data Item)
- 数据项:一个数据元素可以有若干数据项组成,数据项是数据不可分割的最小单位。
逻辑结构
逻辑结构:描述数据元素之间的关系的结构。
集合 | 线性结构 | 树形结构 | 图状结构 |
---|---|---|---|
元素同属一个集合,元素间没有关系 | 元素之间一对一 | 元素之间一对多 | 元素之间多对多 |
存储结构
存储结构:实际存储元素的物理结构,分为顺序存储和链式存储。
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。因为该地址空间是连续的,所以计算机顺着地址空间即可找到对应的数据元素,一一对应。
1 | 2 | 3 | 4 | 5 |
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。这时计算机在顺着地址空间无法正确找到对应的数据元素,所以人们就想出用另一个变量去存储下一个元素的地址,即指针。
1 | 2 | 3 | 4 | 5 |
总结
数据结构是研究数据及其相互关系的学科;逻辑结构是面向问题的(人脑思维),物理结构是面向计算机的(客观世界);其基本目标就是将数据及其逻辑关系存储到计算机的内存中。