1
0
wiki/FormalSciences/ComputerScience/StructuresAlgorithms/数据结构.md

80 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

2022-08-25 14:56:27 +08:00
---
title: 数据结构
description: 数据结构的定义
keywords:
2024-04-26 21:42:22 +08:00
- 数据结构
- 抽象数据类型
2022-08-25 14:56:27 +08:00
tags:
2024-10-14 16:48:38 +08:00
- FormalSciences/ComputerScience
2022-08-25 14:56:27 +08:00
author: 7Wate
date: 2022-08-25
---
2024-04-26 22:10:54 +08:00
2022-08-25 14:56:27 +08:00
## 概述
2024-04-26 22:10:54 +08:00
2022-08-25 14:56:27 +08:00
数据结构是相互之间存在**一种或多种特定关系**的数据元素的集合。
2024-04-26 22:10:54 +08:00
2022-08-25 14:56:27 +08:00
## 数据
2024-04-26 22:10:54 +08:00
2022-08-25 14:56:27 +08:00
数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
**数据项 > 数据元素 >> 数据对象:数据项构成了数据元素,数据元素组合成了数据对象。**
## 结构
2024-04-26 22:10:54 +08:00
2022-08-25 14:56:27 +08:00
结构是不同数据元素之间不是独立的,而是存在特定的关系。
2024-04-26 22:10:54 +08:00
2022-08-25 14:56:27 +08:00
### 逻辑结构
2024-04-26 22:10:54 +08:00
2022-08-25 14:56:27 +08:00
逻辑结构是指**数据对象 中 数据元素**之间的相互关系。
- 集合:集合结构中的数据元素除了属于一个集合外,它们之间**没有其他关系**。
- 线性:线性结构中的数据元素之间是**一对一的关系**。
- 树形:树形结构中的数据元素之间存在一种**多对多的层次关系**。
- 图形:图形结构的数据元素是**多对多的关系**。
### 物理结构
物理结构是指数据的逻辑结构在计算机中的存储形式。
#### 顺序存储
顺序存储结构是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
#### 链式存储
链式存储结构是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
## 数据类型
数据类型是指一组**性质相同的值的集合**以及定义在此**集合上的一些操作**的总称。
### 定义
- 相同数据对象集合(例如整数 > 整数型,字符 > 字符型)。
- 集合相关联的操作(整数可以加减,字符可以拼接)。
### 分类
- 原子类型(字节型、数值型、字符串型)。
- 结构类型(原子类型的组合)。
## 抽象数据类型
抽象数据类型Abstract Data TypeADT是指一个数学模型及其定义在该模型上的一组操作。
```markdown
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作1
初始条件
操作结果描述
操作2
…………
操作n
…………
endADT
```