计算机技术基础第1章9.9-2014.ppt

计算机技术基础第1章9.9-2014

* 计算机软件技术基础 第一章 算法 * 2. 时间复杂度 在时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。为了知道其变化的规律引入了时间复杂度概念。 若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f (n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。 * 计算机软件技术基础 第一章 算法 * 补充说明 在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1); 另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n2+3n+4与T(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为O(n2)。 * 计算机软件技术基础 第一章 算法 * 补充说明 按数量级递增排列,常见的时间复杂度有: 常数阶O(1),对数阶O(log2n),线性阶O(n); 线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),…; k次方阶O(nk),指数阶O(2n)。 随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。 * 计算机软件技术基础 第一章 算法 * 1.3.2 算法的空间复杂度 定义:执行某个算法所需要的内存空间。 一个算法的效率包括工作量和占用内存空间两个方面。

文档评论(0)

1亿VIP精品文档

相关文档