数据结构(准备知识2)

算法:(algorithm)解决特定问题的求解步骤的描述,在计算机中表现为指令的有限序列,并且每一条指令表示一个或多个操作。
算法的5个特性:输入、输出、有穷性、确定性和可行性

  • 输入输出:算法具有零个或多个输入,至少一个或多个输出。
  • 有穷性:算法在执行有限的步骤后,自动结束而不会出现无限循环,并且一个步骤在可接受的时间内完成。
  • 确定性:算法的每一步骤都具有确定的含义,不会出现二义性。
  • 可行性:算法的每一步都必须是可行的,每一步都能够执行有限次数完成。
    算法设计的要求:正确性,可读性,健壮性,时间效率高和存储量低
    算法效率的度量方法:事后统计方法,事前分析估算方法
    算法的时间复杂度
    数据结构(准备知识2)_第1张图片
    其他都好理解吧,我简单介绍一下对数阶
int count  = 1;
while(couunt < n ){
count = xount * 2
}

由于每次count乘以2之后,就距离n更近一分,2^x = n得到x = log2 n,所以这个循环的时间复杂度为O(logn)
算法空间复杂度:s(n) = O(f(n)),其中n为问题的规模,f(n)为语句关于n所占存储空间的函数。
总的来说时间复杂度更加的普遍和常用。

你可能感兴趣的:(数据结构(准备知识2))