01.数据结构——绪论

什么是数据结构?

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。

- 程序设计 = 数据结构 + 算法

- 简单来说数据结构就是关系,也就是数据元素相互之间存在的一种或多种特定关系的集合。

逻辑结构和物理结构

逻辑结构:是指数据对象中数据元素之间的相互关系

物理机构:是指数据的逻辑结构再计算机中的存储形式

逻辑结构

主要有四大逻辑结构:集合结构、线性结构、树形结构、图形结构

集合结构

集合结构示意图

线性结构


线性结构示意图

树形结构


树形结构示意图

图形结构


图形结构示意图

物理结构

实际上研究的是如何把数据元素存储到计算机的存储器中,存储器主要是针对内存而言,像硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述。

数据元素的存储结构形式有两种:顺序存储和链式存储。

顺序存储结构

把数据元素存放在地址连续的存储单元中,其数据间的逻辑关系和物理关系是一致的,例如各编程语言中的数组结构

现实生活中例子:排队,一个接着一个等着,无法离开,不能插队


顺序存储结构示意图

优点:物理关系和逻辑关系一致,易于理解,每个元素只存储自身数据

缺点:需要连续单元,如果当前连续单元不足,需要整体移动

链式存储结构

数据元素可以存放在任意的存储单元中,物理关系不能反映其逻辑关系,因此需要一个指针存放数据元素的地址,这样子才能通过地址找到相关联的数据元素。比如链表,前一个元素知道后一个元素的位置

现实生活中例子:排号,取得号牌,人在哪里都可以


连式存储结构示意图

优点:不需要连续空间,新增时不需要考虑移动的问题

缺点:因为前一个元素需要知道后一个元素的位置,除了自己本身数据意外,还需要额外存储下一个元素的值,占用空间



内容均来源于学习资料,在学习过程中进行记录,如有侵权联系作者进行删除


Change the world by program

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。