数据结构与算法之绪论
程序员文章站
2022-05-22 22:29:22
什么是数据结构 简单来说可以解释为:程序设计=数据结构+算法; 主要是用来研究数据结构的关系,数据元素之间存在的一种或多种特定关系的集合; 数据结构的分类 按照传统意义上来讲,数据结构可以分为两类:逻辑结构和物理结构; 逻辑结构指的是数据对象中数据元素之间的相互关系。 主要有四种逻辑结构: 集合结构 ......
什么是数据结构
简单来说可以解释为:程序设计=数据结构+算法;
主要是用来研究数据结构的关系,数据元素之间存在的一种或多种特定关系的集合;
数据结构的分类
按照传统意义上来讲,数据结构可以分为两类:逻辑结构和物理结构;
逻辑结构指的是数据对象中数据元素之间的相互关系。
主要有四种逻辑结构:
- 集合结构:集合结构中的数据元素同属于一个集合体中,但是它们之间没有其他关联;
- 线性结构:线性结构中的数据元素之间是一对一的关系,如同夫妻关系;
- 树形结构:树形结构中的数据元素之间是一对多的关系,如同一个爸爸对多个自己的孩子;
- 图形结构:图形结构中的数据元素之间是多对多的关系,我更倾向于把它理解成一个网状结构,如同在社会中人与人之间都是相互关联的;
物理结构的存储
物理结构中的存储器主要是针对内存而言的,硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述;
数据元素的存储形式有两种:顺序存储和链式存储。
- 顺序存储结构是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的(编程语言的数据结构就是属于这种);
- 链式存储结构是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的;它比顺序存储更灵活(类似银行排号办理业务),但是不能反应其逻辑关系,所以需要用一个指针存放数据元素的地址(指针指向的是下一个地址)—通过地址就可以找到相关联数据元素的位置