数据结构和算法
数据结构是研究数据如何存储的,
对数据的不同存储形式有不同操作方式就是算法;
程序设计=数据结构+算法
数据结构包括两种:
- 逻辑结构:数据对象中数据元素之间的相互关系
- 物理结构:数据的逻辑结构在计算机中的存储形式
四大逻辑结构:
- 集合结构:同属一个集合
- 线性结构:一 一对应关系
- 树形结构:层次关系
- 图形结构:多对多关系
物理结构包括两种:
- 顺序存储结构:把数据元素存放在地址连续的存储单元中
- 链式存储结构:把数据元素存放在任意的存储单元里(ps:这组存储单元可以是连续的,也可以是不连续的,需要一个指针找地址存放数据及指针,所以多用一些内存空间);
算法五个特征:
- 输入(零个或多个数据规模都可以)
- 输出(返回一个值或多个值)
- 有穷性
- 确定性
- 可行性
时间复杂度和空间复杂度
时间复杂度=执行次数
空间复杂度=占内存空间大小
以空间换时间,以时间换空间;
时间复杂度计算:
用大O记法
常数阶:O(1)
线性阶:O(n)
平方阶:O(n2)