数据结构和算法
学习笔记脑图:阿里云盘分享 (aliyundrive.com)
绪论
数据结构(三要素)
- 逻辑结构

存储结构

数据的运算
数据的运算:施加在数据的运算包括运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。
五个特征
- 有穷性:执行有穷步后结束,每一步都在有穷时间内完成
- 确定性:算法必须具备明确定义的运算,每一一步都有确切的定义,不会有二义性
- 可行性:有效执行,得到确定结果
- 输出:算法产生的一个或者多个特定关系的量
- 输入:零个或者多个输入
效率的度量
时间复杂度: 在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比例,
空间复杂度: 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。空间复杂度不是程序占用了多少bytes的空间,因为这个也没大大意义,所以空间复杂度算的是变量的个数。例如:一个动态分配开辟的一个动态数组为O(N),一个变量的空间复杂度O(1)。
线性表
线性表的定义:线性表是具有相同数据类型的n个数据元素的有限数列。
