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