一、什么是数据结构
用计算机解决一个具体问题时,需要经过以下几个步骤:
- 从具体问题抽象出一个适当的数学模型
- 设计一个解此数学模型的算法
- 编出程序,并进行测试、调整直至得到最终解答
简单来说:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科
二、数据结构的基本概念
数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称
数据元素:数据的基本单位,在计算机中通常作为一个整体来进行考虑和处理;一个元素可由若干个数据项组成,数据项是数据的不可分割的最小单位
数据对象:性质相同的数据元素的集合,是数据的一个子集
数据结构:相互之间存在一种或多种特定关系的数据元素的集合
数据结构包括三方面的内容:逻辑结构、存储结构和数据运算
数据类型:是一个值的集合和定义在此集合上的一组操作的总称
- 原子类型:其值不可再分的数据类型
- 结构类型:其值可以再分解为若干成分的数据类型
- 抽象数据类型:是指一个数学模型以及定义在该模型上的一组操作
三、数据结构三要素
数据的逻辑结构:
逻辑结构是指数据元素之间的逻辑关系,它与数据的存储无关,是独立于计算机的
逻辑结构分两类:线性结构和非线性结构
根据数据元素之间关系的不同特性,有四类基本结构:
- 集合
- 线性结构
- 树形结构
- 图状结构或网状结构
数据的存储结构
存储结构是指数据结构在计算机中的表示(又称映像),也称物理结构
数据元素的存储结构主要有顺序存储、链式存储、索引存储和散列存储
数据的运算
施加在数据上的运算包括运算的定义和实现。
运算的定义是针对逻辑结构的,指出运算的功能;
运算的实现是针对存储结构的,指出运算的具体操作步骤