一、定义
数据结构(data structure)是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。
“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
什么是数据、数据元素、数据项、数据对象?
数据:程序的操作对象,用于描述客观事物的符合;eg:图片数据、音频数据等
数据元素:组成数据的基本单位;eg:LOL中的某一个英雄
数据项:一个数据元素由若干数据项组成;eg:英雄的技能、被动等
数据对象:具有相同性质的数据元素的集合;eg:在排位,十名英雄就是一个数据对象
struct Person { // 数据结构
int age; // 数据项
char *name; // 数据项
};
struct Person s; // 数据元素
struct Person array[10]; // 数据对象
逻辑结构
逻辑结构是反映数据元素直接的逻辑关系,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位置无关。
逻辑结构包括:
- 集合:数据元素之间除了同属于一个集合的相互关系外,没有其他的关系;
- 线性结构:数据元素之间存在一对一的相互关系;
- 树形结构:数据元素之间存在一对多的相互关系;
- 图形结构: 数据元素之间存在多对多的相互关系;
物理结构(存储结构)
物理结构指数据的逻辑结构在计算机存储空间的存放形式。
具体的实现方法有顺序、链接、索引、散列等多种,因此,一种数据结构可以表示成一种或多种存储结构。
常用的存储结构有顺序存储、链式存储和哈希存储等。