数据结构与算法(一)--基础篇
2020-04-01 本文已影响0人
异乡人_4f2a
思维导图
一、数据结构
数据结构是计算机中存储、组织数据的方式。
1.1、基本概念
1.1.1、数据对象:是性质相同的数据元素的集合,是数据的子集。
例如数组:以下的数组里面添加的都是Person类型的对象
1.1.2、数据元素:组成数据对象的基本单位,例如:person1和person2
1.1.3、数据项: 组成数据元素的基本单位,例如以下的name和age
1.2、逻辑结构与物理结构
根据视角不同,可以将数据结构分为2种: 逻辑结构与物理结构
1.2.1、逻辑结构
逻辑结构:指的是数据对象中的数据元素之间的相互关系
逻辑结构分为:
集合结构:各个数据元素是"平等"的,它们之间没有其他关系。
线性结构:数据元素之间是一对一的关系,常用的线性结构有:线性表,栈,队列,双队列,数组,串。
树形结构:数据元素之间存在着一对多的层次关系,例如:二叉树,B树,哈夫曼树,红黑树等。
图形结构:数据元素是多对多的关系.,例如: 邻近矩阵,邻接表。
1.2.2、物理结构
物理结构分为:顺序存储和链式存储。
顺序存储:需要在内存中先开辟一块连续的存储空间,数据间的逻辑关系和物理关系一致。
链式存储:一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的).
二、算法
算法:是解决特定问题求解步骤的描述
2.1、数据结构与算法的关系:
程序 = 数据结构 + 算法
2.2、时间复杂度:
以下表格为常见的时间复杂度:
2.3、空间复杂度:
并不是整个算法在内存占用空间,而是指的是该算法在实现时所需要的辅助空间就可以