定义:分析算法是指预测算法需要的计算时间。
在能够分析一个算法之前,我们必须有一个要使用的实现技术的模型,包括描述所用资源及其代价的模型。
实现技术:一般假定一种通用的单处理器计算模型——随机访问机(Random-access machine,RAM)来作为我们的实现技术,算法还可以用计算机程序来实现。
在RAM模型中,
(1)指令一条接一条的执行,没有并发操作;
(2)RAM模型包含真实计算机中的常用指令:算术指令(如加法、减法、乘法、除法、取余、向下取整、向上取整)、数据移动指令(装入、存储、复制)和控制指令(条件与无条件转移、子程序调用与返回);
(3)每条指令的所需的时间都为常量;
(4)模型中的数据类型有整数型和浮点实数型;
(5)对每个数据字的规模假定一个范围。例如,当处理规模为n的输入时,一般假定对某个大于等于1的常量c,整数由clgn位来表示(为什么?)
实例:插入排序算法的分析
原文:http://www.cnblogs.com/kyrie9527/p/7636017.html