我是靠谱客的博主 糟糕夏天,最近开发中收集的这篇文章主要介绍时间复杂度例题例题:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。
主要还是从算法所占用的「时间」和「空间」两个维度去考量。
时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。
空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。
时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数。
当我们面前有多个算法时,我们可以通过计算时间复杂度,判断出哪一个算法在具体执行时花费时间最多和最少。

常见的时间复杂度有:
常数阶O(1),
对数阶O(log2 n),
线性阶O(n),
线性对数阶O(n log2 n),
平⽅阶O(n^2),
⽴⽅阶O(n^3)
k次⽅阶O(n^K),
指数阶O(2^n)。

例题:

1:for(i=1; i<=n; ++i){
      j=1; j++}
解: 执行第一次:i=1   j=1
      执行第二次:i=2   j=2
      执行第三次:i=3   j=3
      执行第n次:  i=n  j=i=n
      所以时间复杂度为O(n)

2:for(i=0;i<n;i++)
      for(j=0;i<m;j++)
      a[ i ] [ j ]=0;
解:第一层for循环的执行次数:n
       第二层for循环的执行次数:m
       所以时间复杂度为O(n*m)

3:int x=0,i,j;
      for(i=1;i<n;i++)
      for(j=1;j<2*i;j++)
      x++;
解:第一层for循环的执行次数:n
       第二层for循环的执行次数:log2n
       所以时间复杂度为O(nlog2n)

4: 

 5:

 
 

最后

以上就是糟糕夏天为你收集整理的时间复杂度例题例题:的全部内容,希望文章能够帮你解决时间复杂度例题例题:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部