注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

~~

~~

 
 
 

日志

 
 

算法时间复杂度 总结  

2013-08-23 17:03:23|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
<?php
//1.算法时间复杂度定义为恒定级别,用O(1)表示。

//2.线性级别: 根据算法效率与算法时间复杂度的转换规则得出:算法A的算法时间复杂度为0(n)。
for($i=1;$i<=$n;$i++)
{
echo '执行一次输出操作'."<br />";
}

//3.对数级别: 当第1次运行的时候,$num=3?;当第2次运行的时候,$num=3?。以此类推,算法A的执行次数取决于有多少个3相乘会大于$n的值。那么这个执行次数就应该以㏒3n来表示。
$num=1;
while ($num<$n)
{
$num=$num*3;
}


//4.平方级别: $n应该是一个整数。算法A的执行次数是n的2次方。
for($i=0;$i<=$n;$i++)
{
for($j=0;$j<=$n;$j++)
{
echo '执行一次的代码';  
}
}


//总结
 /**
  执行次数表达式:12-->复杂度等级:O(1)-->名称:恒定等级(常数阶)
  执行次数表达式:4n+5-->复杂度等级:O(n)-->名称:线性等级(线性阶)
  执行次数表达式:4n?+3n+1-->复杂度等级:O(n?)-->名称:平方等级(平方阶)
  执行次数表达式:㏒3n+1-->复杂度等级:O(㏒n)-->名称:对数等级(对数阶)
  执行次数表达式:4n㏒3n+1-->复杂度等级:O(n㏒n)-->名称:n㏒n等级(n㏒n阶)
  执行次数表达式:4n?+3n?+1-->复杂度等级:O(n?)-->名称:立方等级(立方阶)
  算法时间复杂度所耗费的时间,从小到大排序为:
  O(1)<O(㏒n)<O(n)<O(n㏒n)<O(n?)<O(n?)
  **/



参考自:http://www.mysql100.com
  评论这张
 
阅读(186)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018