数据结构:
程序设计 = 数据结构 + 算法;
数据结构分为:逻辑结构 和 物理结构
逻辑结构:数据对象中元素间的对应关系
物理结构:数据在计算机中的存储形式
逻辑结构:
- 集合结构:同属于同一集合,并没有其他关系
- 线性结构:数据元素之间一对一的关系
- 树形结构:数据元素之间一对多的关系
- 图形结构:数据元素之间多对多的关系
物理结构:
- 顺序结构:把数据元素存放在地址连续的存储空间内,其逻辑结构和物理结构是一致的(如:数组)
- 链式结构:把数据元素存放在任意的存储空间内,这些地址可以是连续的,也可以是不连续的,这种结构不能反映其逻辑关系;
时间复杂度:
常数阶:O(1)
对数阶:O(logn)
线性阶:O(n)
平方阶:O(n ^ 2)
立方阶:O(n ^ 3)
指数阶:O(2 ^ n)
常见的时间复杂度从小到大依次是:O(1)< O(logn)< O(n) < O(n ^ 2) < O(n ^ 3)< O(2 ^ n)