深入浅出数据结构与算法(微课视频版)
上QQ阅读APP看书,第一时间看更新

1.3.2 存储结构

存储结构(storage structure)也称为物理结构(physical structure),指的是数据的逻辑结构在计算机中的存储形式。数据的存储结构应能正确反映数据元素之间的逻辑关系。

数据元素的存储结构形式通常有顺序存储结构和链式存储结构两种。顺序存储是把数据元素存放在一组地址连续的存储单元里,其数据元素间的逻辑关系和物理关系是一致的。采用顺序存储的字符串“abcdef”的存储结构如图1-7所示。链式存储是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的,数据元素的存储关系并不能反映其逻辑关系,因此需要借助指针来表示数据元素之间的逻辑关系。字符串“abcdef”的链式存储结构如图1-8所示。

图1-7 顺序存储结构

图1-8 链式存储结构

数据的逻辑结构和物理结构是密切相关的,在学习数据结构的过程中,将会发现,任何一个算法的设计取决于选定的数据逻辑结构,而算法的实现则依赖于所采用的存储结构。

如何描述存储结构呢?通常是借助C/C++/Java/Python等高级程序设计语言中提供的数据类型进行描述。例如,对于数据结构中的顺序表可以用C语言中的一维数组表示;对于链表,可用C语言中的结构体描述,其中用指针来表示元素之间的逻辑关系。