基础概念
数据结构:是相互之间存在一种或多种关系的数据元素的集合。
逻辑结构和物理结构
关于数据结构,我们可以从逻辑结构和物理结构这两个维度去描述
逻辑结构是数据对象中数据元素之间的关系,是从逻辑意义上去描述的数据之间的组织形式。
逻辑结构有4种:集合结构(数据元素之间仅以集合的方式体现,元素之间没有别的关系)
线性结构(数据元素之间存在一对一的关系)
树(数据元素之间为一对多或多对一的关系)
图(数据元素之间为多对多的关系)
物理结构则是逻辑结构在计算机中内存中的存储形式,分为两种:顺序存储结构链式存储结构线性表(list)
线性表是零个或多个数据元素的的有限序列
线性表是线性结构,元素之间存在一对一的关系,线性表可通过顺序和链式两种方式来实现。
顺序存储结构,是用一段地址连续的存储单元依次存储线性表的数据元素
链式存储结构,用一组任意的存储单元来存储数据元素,不要求物理存储单元的连续性,由一系列结点组成,每个结点除了要存储数据外,还需存储指向后继结点或前驱结点的存储地址。顺序存储和链式存储对比顺序存储结构优点实现比较简单
查找指定位置的元素效率很快,时间复杂度为常数阶O(1)
无需额外存储元素之间的逻辑关系(链式存储由于存储空间随机分配,需要存储元素之间的逻辑关系)
缺点需要预先分配存储空间,如果数据元素数量变化较大,