2.4 算法定义
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一条或多条操作
2.5 算法的特性
五大特性:输入(0~N)、输出(1~N)、有穷性(有限时间)、确定性(无二义)、可行性
设计要求:正确性、可读性、健壮性、时间效率高、存储量低
2.9 时间复杂度
语句总的执行次数T(n)是关于问题规模n的函数,
算法时间复杂度记作T(n)=O(f(n)),f(n)是问题规模n的某个函数
上式表示算法执行时间的增长率和f(n)的增长率相同
推导大O阶方法:
1. 用常数1取代运行时间中所有加法常数
2.只保留最高阶项
3.若最高阶数存在,去除这个项所乘的常数
常见阶数大小:O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
2.11最坏情况与平均情况
最坏情况:默认运行时间
平均情况:期望的运行时间
2.12空间复杂度 原地工作:空间复杂度为O(1)
浙公网安备 33010602011771号