数据结构1
2019-08-29 本文已影响0人
shanfl
基本概念和术语
-
数据(data)是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
-
数据元素(data element)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
-
一个数据元素可以由若干个数据项(data item)组成。
-
数据对象(data object)是性质相同的数据元素的组合,是数据的一个子集。
-
数据结构(data structure)是相互之间存在一种或者多种特定关系的数据元素的集合。
-
四类基本结构:
- 集合
- 线性结构
- 树形结构
- 图状结构或者网状结构
-
逻辑结构
数据的逻辑结构.png
- 物理结构(存储结构)数据结构在计算机中的表示(又称映像),包括数据元素的表示和关系的表示。
- 位(bit)在计算机中表示信息的最小单位是二进制数的一位
- 元素(element)或结点(node)在计算机中,我们可以用一个由若干位组合起来形成的一个位串表示一个数据元素。
- 数据域(data field)当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串。
- 元素或者结点可以看成是数据元素在计算机找那个的映像。
- 顺序存储结构
把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。- 优点:可以实现随机存取,每个元素占用最少的存储空间;
- 缺点:只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片。
- 链式存储结构
不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。- 优点:不会出现碎片现象,能充分利用所有的存储单元;
- 缺点:每个元素因存储指针而占用额外的存储空间,且只能实现顺序存储。
- 索引存储结构
在存储元素信息的同时,还建立附加的索引表。索引表中的每项称为索引项,索引项的一般形式是(关键字,地址)。- 优点:检索速度快;
- 缺点:增加附加的索引表后会占用较多的存储空间。另外,在增加和删除数据时要修改索引表,因而会花费较多的时间。
- 散列存储结构
根据元素的关键字直接计算出该元素的存储地址,又称Hash存储。- 优点:检索、增加和删除结点的操作都很快;
- 缺点:若散列函数不好,则可能出现元素存储单元的冲突,而解决冲突会增加时间和空间开销。[图片上传中...(数据的逻辑结构.png-e30d25-1567008080604-0)]