01数据结构的概况
# 数据结构的概况
## 前世今生
由高德纳教授29岁时提出“算法”和“数据结构”的概念;
早期的计算机被人们理解为数值计算的工具;
数据结构是一门研究**非数值计算**的程序设计问题中的操作对象,以及它们之间的**关系和操作**等相关问题的学科。
## 基本概念
什么是数据
数据——描述客观事物的符号,是计算机中**可以操作的对象**,是能被计算机识别,并输入给计算机处理的**符号**集合。
注意:
1、数据有两个特点
- 可以输入到计算机中;
- 能够被计算机程序处理
2、数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频非数值类型;
数据元素
数据元素——组成数据的、**有一定意义的基本单元**, 在计算机中通常作为整体处理,也被称为**记录**。
**数据元素是数据结构的聚焦点!**
数据项
数据项—— 一个数据元素可以由若干个数据项组成。
**数据项是数据不可分割的最小单元**
数据对象
数据对象——性质相同的数据元素的集合,是**数据的子集**
数据结构
**数据元素 + 特定关系 = 数据结构**
现实世界中,不同数据元素之间不是独立的,而是存在特定的关系,我们**将这些关系称之为结构**。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
## 五个基本概念和术语
1. 数据:描述客观事物的符号,是计算机中可以操作的对象
2. 数据元素:组成数据的、有一定意义的基本单元
3. 数据项:不可分割的最小单元
4. 数据对象:性质相同的数据元素的集合,数据的子集
5. 数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合

## **逻辑结构**
集合结构
1. 集合结构中的数据元素同属一个集合
2. 数据元素相互之间没有其他关系
线性结构——数据元素之间是一对一的关系
树形结构——数据元素之间存在一种一对多的层次关系
图形结构——数据元素之间是多对多的关系
## 物理结构
定义——又叫做存储结构,是指数据的逻辑结构**在计算机中**的**存储形式**
顺序存储结构 ——把数据元素存储在地址连续的存储单元里(数据间的逻辑关系与物流关系一致)
链式存储结构——把数据元素存放在任意的存储单元里
## 抽象数据类型(ADT)
数据类型
计算机中,**内存空间是有限的**,不同类型的数据分配的内存空间大小不同
在C语言中,按照取值的不同,数据类型分为两类:
- 原子型:不可以再分解的基本类型,包括整型、实型、字符型等。
- 结构型:由若干个类型组合而成,是可以再分解的。
例如,整型数组是由若干个整型数据组成的。
**数据类型是指一组性质相同的值的集合及定义在此集合上的一些操作的总称**。
抽象数据类型
抽象数据类型——是对已有的数据类型进行抽象
抽象数据类型是指一个数据模型及定义在该模型上的一组操作
1. 把实际生活中的问题分解为多个规模小且容易处理的问题
2. 建立一个计算机能处理的数据模型
3. 把每个功能模块的实现细节作为一个独立单元,使具体实现过程隐藏起来
抽象数据类型 的标准格式:
ADT 抽象数据类型名
Data 数据元素之间逻辑关系的定义
Operation
• 操作1
• 初始条件
• 操作结果描述
• 操作2
• .....
• 操作n
• .....
endADT


由于搬运的时间成本,更多笔记分享请转至https://blog.csdn.net/weixin_42248871

浙公网安备 33010602011771号