什么是数据结构?
程序设计=数据结构 + 算法
数据结构就是关系,没错,就是数据元素之间存在的一种或多种特定关系的集合。
传统上数据结构分为物理结构和逻辑结构
逻辑结构:数据对象中数据元素之间的相互关系。
物理结构:数据的逻辑结构在计算机中的存储形式。
逻辑结构
集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有任何关系。
线性结构:线性结构中的元素是一一对应的关系。
树形结构:数据结构中的元素之间存在一种一对多的层次关系,可以是1p,2p,3p,4p。(是一种金字塔结构)
图形结构:图形结构的数据元素是多对多的关系。
物理结构
我们研究的就是如何把数据元素存储到计算机的。
数据元素的存储形式有顺序存储和链式存储。
顺序存储结构
顺序存储结构是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。例如:数组。
链式存储结构
链式存储结构是把数据元素放在任意的存储单元里,这组存储单元可以使连续的,也可以是不连续的。
很显然,数据元素的存储关系并不能反应其逻辑关系,因此需要用一个指针存放数据元素的地址,这样子通过地址就可以找到相关联数据元素的位置。