什么是数据结构
数据结构的起源:
1968年美国的高纳德教授开创了一门新的课程《基本算法》,开创了数据结构和算法的先河,确定了数据结构和算法的基本体系。
数据结构不是一门研究数据计算的学科,而是研究数据与数据之间关系的,是一门研究非数值计算的学科,专注于数据的关系及操作。
程序=数据结构+算法,它在计算机界的地位相当于E=MC^2在物理界的地位。
数据结构的基本概念
数据:所有能输入到计算机中的描述客观事物的符号。
数据项:有独立含义的数据的最小单位。描述事物的其中一项指标。
数据元素:数据的基本单位,也称节点或记录,用于描述一个完整的事物。
数据结构:数据元素+数据关系组成的集合
算法:
狭义:数据结构所具有的功能。
广义:解决问题的方法。
数据结构的三个方面
数据的逻辑结构
数据的存储结构
数据结构的运算
四种基本的逻辑结构
集合结构:数据元素之间除了同属于一个集体外,没有关系
线性结构:数据元素之间存在一对一关系(数组)。
数组、链表、功能受限的表(栈、队列)
树型结构:数据元素之间存在一对多关系。
普通树、二叉树、完全二叉树、满二叉树、有序二叉树
图型结构:元素之间存在多对多关系
邻接表、表的遍历(深度优先、广度优先)、最短路径