什么是数据结构?
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。
- 程序设计 = 数据结构 + 算法
- 简单来说数据结构就是关系,也就是数据元素相互之间存在的一种或多种特定关系的集合。
逻辑结构和物理结构
逻辑结构:是指数据对象中数据元素之间的相互关系
物理机构:是指数据的逻辑结构再计算机中的存储形式
逻辑结构
主要有四大逻辑结构:集合结构、线性结构、树形结构、图形结构
集合结构
集合结构示意图
线性结构
线性结构示意图
树形结构
树形结构示意图
图形结构
图形结构示意图
物理结构
实际上研究的是如何把数据元素存储到计算机的存储器中,存储器主要是针对内存而言,像硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述。
数据元素的存储结构形式有两种:顺序存储和链式存储。
顺序存储结构
把数据元素存放在地址连续的存储单元中,其数据间的逻辑关系和物理关系是一致的,例如各编程语言中的数组结构
现实生活中例子:排队,一个接着一个等着,无法离开,不能插队
顺序存储结构示意图
优点:物理关系和逻辑关系一致,易于理解,每个元素只存储自身数据
缺点:需要连续单元,如果当前连续单元不足,需要整体移动
链式存储结构
数据元素可以存放在任意的存储单元中,物理关系不能反映其逻辑关系,因此需要一个指针存放数据元素的地址,这样子才能通过地址找到相关联的数据元素。比如链表,前一个元素知道后一个元素的位置
现实生活中例子:排号,取得号牌,人在哪里都可以
连式存储结构示意图
优点:不需要连续空间,新增时不需要考虑移动的问题
缺点:因为前一个元素需要知道后一个元素的位置,除了自己本身数据意外,还需要额外存储下一个元素的值,占用空间
内容均来源于学习资料,在学习过程中进行记录,如有侵权联系作者进行删除