数据结构小结

一、定义

数据结构(data structure)是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。

“结构”就是指数据元素之间存在的关系,分为逻辑结构存储结构

什么是数据、数据元素、数据项、数据对象?

数据

  • 数据:程序的操作对象,用于描述客观事物的符合;eg:图片数据、音频数据等

  • 数据元素:组成数据的基本单位;eg:LOL中的某一个英雄

  • 数据项:一个数据元素由若干数据项组成;eg:英雄的技能、被动等

  • 数据对象:具有相同性质的数据元素的集合;eg:在排位,十名英雄就是一个数据对象

struct Person { // 数据结构	
  int age;      // 数据项
  char *name;   // 数据项
};

struct Person s;         // 数据元素
struct Person array[10]; // 数据对象

逻辑结构

逻辑结构是反映数据元素直接的逻辑关系,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位置无关

逻辑结构包括:

  1. 集合:数据元素之间除了同属于一个集合的相互关系外,没有其他的关系;
  2. 线性结构:数据元素之间存在一对一的相互关系;
  3. 树形结构:数据元素之间存在一对多的相互关系;
  4. 图形结构: 数据元素之间存在多对多的相互关系;

物理结构(存储结构)

物理结构指数据的逻辑结构在计算机存储空间的存放形式。

具体的实现方法有顺序链接索引散列等多种,因此,一种数据结构可以表示成一种或多种存储结构。

常用的存储结构有顺序存储链式存储哈希存储等。