算法之如何衡量一个算法
1.什么是算法的复杂性
算法的复杂性分成时间复杂性和空间复杂性。我们先主要讨论一下时间复杂度
时间复杂度主要用于描述算法的运行时间,
复杂度问题和几个因素有关包括:输入数据的规模
基本指令
算数指令 数据移动指令 控制指令
以上指令所需时间都为常量,意思是指令执行时间不会随着输入规模而改变
一个算法在特定输入上的运行时间是指执行的基本操作数和步数。
我们用ci表示一条语句需要的步数
做出更简化的抽象来表示我们感兴趣的运行时间的增长率和增长量级
1.什么是算法的复杂性
算法的复杂性分成时间复杂性和空间复杂性。我们先主要讨论一下时间复杂度
时间复杂度主要用于描述算法的运行时间,
复杂度问题和几个因素有关包括:输入数据的规模
基本指令
算数指令 数据移动指令 控制指令
以上指令所需时间都为常量,意思是指令执行时间不会随着输入规模而改变
一个算法在特定输入上的运行时间是指执行的基本操作数和步数。
我们用ci表示一条语句需要的步数
做出更简化的抽象来表示我们感兴趣的运行时间的增长率和增长量级