「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!」
什么是数据结构
数据结构 = 数据 + 结构
数据是一个抽象的概念,将其进行分类后可以得到编程语言中的基本类型,如:int 、float 等。这些数据可能有包含与被包含的关系,可能有前后的关系等,这些关系可以抽象为结构。
算法与数据结构的区别
-
数据结构表示的是静态数据元素之间的关系
-
算法描述的是具体的解决问题的步骤
-
程序 = 数据结构 + 算法
-
总结:算法是为了解决问题而设计的操作步骤,数据结构是算法处理问题时的载体
顺序表和顺序结构
顺序结构是最简单的数据存储结构。
将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。
采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。
顺序表只要确定了起始位置,表中任意元素的地址都可以通过以下公式找到:
LOC(ai) = LOC(a0) + i*L ,L 是元素占用的存储单元的长度,i>=1 ,可以用下图形象表示。假设我们又一个列表 L = [a , b, c ,d] ,将其用顺序结构进行存储,我们在直接选取 L[2] 的时候,内部所直接访问的就是 l0+2*L 物理位置所存储的数据 c 。
| 逻辑地址 | 元素 | 物理地址 |
|---|---|---|
| 0 | a | l0 |
| 1 | b | l0+1*L |
| 2 | c | l0+2*L |
| 3 | d | l0+3*L |