数据结构整理篇。

概念:

  算法:是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

  算法的特性:

五个基本特性:输入、输出、有穷性、确定性和可行性。

  算法设计的要求:正确性、可读性、健壮性、时间效率高和存储量低。

  算法效率的度量方法:

事后统计方法:
事前分析估算方法:在计算机程序编制前,依据统计方法对算法进行估算。

  函数的渐近增长:给定两个函数f(n) 和g(n),如果存在一个整数N,使得对于所有的n>N,f(n) 总是比g(n)大,那么我们说f(n)的增长渐近快于g(n)

  算法时间复杂度:
  (在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。)

  常数阶
  线性阶
  对数阶

  算法时间复杂度比较:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n^2)<Ο(n^3)<…<Ο(2^n)<Ο(n!)<O(n^n)

  算法的空间复杂度:
类似于时间复杂度的讨论,一个算法的空间复杂度(Space Complexity)S(n)定义为该算法所耗费的存储空间,它也是问题规模n的函数。渐近空间复杂度也常常简称为空间复杂度。

——相关资料推荐
大话数据结构