绪论
数据结构
-
什么是数据结构?
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。
——严蔚敏 《数据结构》
-
到底什么是数据结构?
数据对象在计算机中的组织方式:
-
逻辑结构
-
存储结构
数据对象必定与一系列加在其上的操作相关联
算法: 完成这些操作所用的方法 -
-
基本术语:
- 数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称
- 数据元素Data Element:是组成数据的基本单位,是数据集合的个体,在计算机中通常作为一个整体进行考虑和处理。
- 数据项:一个数据元素可由若干个数据项组成(Data Item)
- 数据对象:是性质相同的数据元素的集合,是数据的一个子集。
总结:
数据元素与数据对象构成数据。数据元素是数据的基本单位,是个体。数据对象是性质相同的数据元素的集合,是子集。
-
数据结构简述:
- 数据结构(Data Structure)
数据结构是指相互之间存在一种或多种特定关系的数据元素集合,数据元素相互之间的关系称为结构(包含逻辑结构和存储结构)。
【重点】
-
【逻辑结构】:数据元素之间抽象化的相互关系
- 集合结构
- 线性结构
- 树形结构
- 图状结构或网状结构
还可以这样分:
- 线性结构:线性表、stack、queue、string、array
- 非线性结构:树、图
给个数据结构的形式化定义吧:Data_structure=(D,S)
其中:D为数据结构的有限集,S是D上关系的有限集。
-
【存储结构】(又称物理结构):
- 是数据结构在计算机中的表示
- 逻辑结构在计算机中的存储映象
- 是逻辑结构在计算机中的实现
包括:数据元素的表示;数据元素之间关系的表示
-
逻辑结构与存储结构之间的关系:
存储结构是逻辑关系的映象与元素本身的映象。
逻辑结构是数据结构的抽象,存储结构是数据结构的实现。
两者综合起来建立了数据元素之间的结构关系。
一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。
-
分类:
- 顺序映像:用元素在存储器中的相对位置表示数据元素之间的
逻辑关系 - 非顺序映像:借助指示元素存储地址的指针表示元素之间的逻
辑关系
- 顺序映像:用元素在存储器中的相对位置表示数据元素之间的
- 数据结构(Data Structure)
-
数据类型与抽象数据类型:
- 数据类型(Data Type)是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称。
- 抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在数学模型上的操作。包括:数据对象、数据关系、基本操作。
抽象的含义:描述数据类型的方法不依赖于具体实现
与存放数据的机器无关
与数据存储的物理结构无关
与实现操作的算法和编程语言均无关
算法
算法(Algorithm)
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。
算法的五个特性:有穷性,确定性,可行性,输入和输出。
算法的四个特征:正确性,可读性,健壮性,效率与地存储需求
【完】
【欢迎关注微信公众号:并非一无所有】