[数据结构] 算法和算法的复杂度

1. 算法

算法是对问题求解步骤的描述,同故宫有限序列的指令来实现。

五大特征

  1. 有穷性:有限步之后结束 不会出现无限循环
  2. 确定性:不存在二义性,算法的每个步骤被精确定义
  3. 可行性:比如受限于计算机的计算能力,有些算法虽然理论上可行,但实际上无法完成。
  4. 输入:能够计算机处理的各种类型数据
  5. 输出: 一至多个程序输出结果

2. 复杂度

(1)时间复杂度(T(n))= O(f(n))
计算方法:取算法时间增长最快的那个函数项,把它的系数改为1
常用的时间复杂度大小关系:

(2)空间复杂度(S(n))= O(g(n))
辅助空间:除了存储算法本身的指令、常数、变量和输入数据外,还需要存储对数据操作的存储单元。
算法原地工作是指算法所需的辅助空间是常量,即O(1)。

你可能感兴趣的:([数据结构] 算法和算法的复杂度)