一、算法的基本概念
1.概念
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作
2.特性
有穷性、确定性、可行性、输入、输出
3.目标
正确性、可读性、健壮性、效率与低存储
二、算法
算法效率的度量是通过时间复杂度和空间复杂度来描述的
1.时间复杂度
一个语句的频度是指该语句在算法中被重复执行的次数
算法中所有语句的频度之和记为T(n),时间复杂度主要分析T(n)的数量级
a、如果运行时间是常数级,用常数1表示.
b、只保留时间函数中的最高阶项
c、如果最高阶存在,则省去最高阶项前面的系数
eg:T(n)=0.5n平方+0.5n,最高阶为0.5n平方,去系数0.5,转换为时间复杂度T(n)=0(n平方)
2.空间复杂度
算法空间复杂度S(n)定义为该算法所耗费的存储空间,记为S(n)=O(g(n))
三、练习
莫算法的时间复杂度为O(n平方),表明该算法的(C)
A问题规模是n平方 B执行时间等于n平方 C执行时间与n平方成正比 D问题规模与n平方成正比
算法分析指:用时长度和存储大小去分析
算法分析的目的:评价算发的效率