2020年计算机考研复习已经开始,新东方在线在此整理了2020考研计算机备考:时间复杂度计算,希望能帮助大家!
算法的时间量度指的是算法中基本操作重复执行的次数。
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作T(n)=O(f(n)),通常称为时间复杂度,其中O的形式定义为:若f(n)是正整数n的一个函数,则xn=O(f(n))表示存在一个正的常数M,使得当n≥n0时都满足|xn|≤M|f(n)|。
注意:基本操作是其重复执行的次数和算法的执行时间成正比的原操作,多数情况下它是最深层循环内的语句中的原操作,它的执行次数和包含它的语句的频度是相同的。语句的频度指的是该语句重复执行的次数。
计算时间复杂度最关键的基本操作。例如,在下列3个程序段中:
(1){++x; s=0;}
(2)for (i =1; i <=n; ++i){ ++x; s+=x;}
(3)for (j =1; j<=n; ++j)
for (k =1; k<=n; ++k) { ++x; s+=x;}
含基本操作“x增1”的语句的频度分别为1、n和n2,则这3个程序段的时间复杂度分别为O(1)、O(n)和O(n2)。算法还可能呈现的时间复杂度有对数阶O(log2n)、指数阶O(2n)等。
本文发布于:2024-01-29 17:37:51,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170652107417138.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |