一、什么是数据结构
1、数据结构的起源
1968年,美国高德纳教授,《计算机程序设计的艺术》第一卷《基本算法》出版,
开创了数据结构与算法的先河
数据结构是一门研究数据之间的关系和操作的学科,而非计算方法
数据结构 + 算法 = 程序 沃斯提出,凭借这一观点获图灵奖,这句话揭示了计算机程序的本质
2、数据结构的基本概念
数据:所有能够输入到计算机中,能被程序处理的描述客观事物的一些符号
数据项:有独立含义的最小单位,也叫域
【结构变量的成员项】
数据元素:组成数据、有一定含义的基本单位,也叫节点、记录
【结构体变量】
数据结构:相互之间存在一种或者多种关系的数据元素的集合
算法:数据结构所具备的功能,解决一些特定问题的方法
3、数据结构关注的三个方面
数据之间的逻辑关系
数据的存储关系
数据结构的运算
二、数据结构的逻辑关系和存储关系
数据结构的逻辑关系:
集合: 数据元素之间是同属于一个集体,除此之外元素之间没有任何关系
线性结构: 数据元素之间存在一对一的关系(线性表)
树形结构: 数据元素之间存在一对多的关系(倒悬树)
图形结构: 数据元素之间存在多对多的关系
数据结构的存储关系:
顺序结构:
数据元素存储在连续的内存中,用数据元素的相对位置来表示关系
优点:
支持随机访问、访问效率极高
缺点:
对内存要求比较高,内存利用率低,插入、删除很麻烦
链式结构:
数据元素可以存储在彼此独立的存储空间中,每个独立的元素叫做节点,
给每个数据节点中增加一个数据项用于存储其他节点的地址,以此来表示
节点之间的关系
优点:
对内存要求低,内存利用率高,插入和删除很方便
缺点:
不能随机访问,访问效率低,只能从头到尾逐个访问
注意:使用哪种存储结构并没有明确规定,通常是根据实现的难易程度以及
存储空间的情况、时间要求,来综合选择合适的存储结构