* * * * 在分析算法之前,需要对算法运行的计算机类型作出假定。 * 在讨论怎样分析算法之前,需要对算法运行的计算机类型作出假定。这对解出问题的速度影响甚大。 * 确定使用什么样的运算及其执行时间。 * 如何分析非时间囿界于常数的运算?分解成若干时间囿界于常数的运算。 * 对算法进行全面分析,可分两个阶段进行:事前分析、事后测试 * 在事前分析中,只限于确定与所使用的机器及其他环境因素无关的频率计数,依此建立一种理论上分析模型。 * 根据符号O的定义,用它评估算法的复杂性,得到的只是当规模充分大时的一个上界,这个上界的阶越低则评估就越精确,结果就越有价值。所以试图求出最小的g(n),使得f(n) = Ο(g(n))。 * 指数时间算法只有在n取值非常小时才实用。 当数据集的规模(即n的取值)很大时,在现代计算机上运行具有比O(nlogn)复杂度还高的算法往往是很困难的。尤其是指数时间算法。 * 【例1.9】循环次数间接依赖规模n-变量计数之二。 (1) x=1; (2) for(i=1;i=n;i++) (3) for(j=1;j=i;j++) (4) for(k=1;k=j;k++) (5) x++
原创力文档

文档评论(0)