关于对数复杂度

今天下午的一会看了对数的知识,因为复杂度中经常会用到对数级别的复杂度。

先看一个对数的公式吧:


今天下午我盯着这个公式看了半天,想知道这个公式是怎么得来的,甚至还花了图,但最后感觉心里还不是很透彻……

然后我又一次感觉到:理解数学中的一些东西,真不是靠画图去理解的,那些数学好的人,肯定也不是这样学数学的。

但我真的很想把数学学好啊……大哭

—— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— 

还是看一下百度百科上是怎么推导上面的公式的吧:


原来是这样推导而来的。其实很多数学公式就是一层层的推导而来的,是没法画图去解释的。

再说说法复杂度吧,看下图:


我们可以看到,图中对数级别的复杂度是最低的,而指数级(即2的n次方)的复杂度最高,其实阶乘的复杂度比指数级还高:

2的n次方:如2的6次方 = 64

1到6的阶乘:1*2*3*4*5*6 = 720

而对数,其实就是指数运算的逆运算:如2的6次方等于64,而log264=6

除了O(1)复杂度,对数复杂度,就已经是查找时间最快的了吧。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 时间复杂度是衡量算法运行时间效率的指标,通常用大O符号来表示。它表示算法执行所需的时间与问题规模之间的增长关系。在计算机科学中,时间复杂度是评估算法效率的一种重要方法,通常越低的时间复杂度意味着算法的效率越高。 ### 回答2: 时间复杂度是对算法运行时间高低的一种度量。它描述了当问题规模n趋于无穷大时,算法所需时间的增长趋势。通过时间复杂度,我们可以比较不同算法的效率,并选择最优算法解决问题。 时间复杂度通常用大O符号表示,例如O(1)、O(log n)、O(n)等。其中,O(1)表示算法执行时间恒定,与问题规模无关;O(log n)表示随着问题规模增长,算法的执行时间以对数形式增长;O(n)表示随问题规模增长,算法的执行时间线性增长。 通过算法的控制结构、循环次数等因素,可以确定算法的复杂度。常见的复杂度有常数复杂度O(1)、对数复杂度O(log n)、线性复杂度O(n)、平方复杂度O(n^2)等。 在算法设计或分析中,我们通常关心的是最坏情况下的时间复杂度。因为在实际应用中,最坏情况往往代表了算法的性能瓶颈。 在选择合适的算法时,需要综合考虑时间复杂度、空间复杂度等因素。较低的时间复杂度通常意味着更高的效率,然而并非所有情况下都需要追求最低的复杂度。有时候,在可接受范围内,平衡时间和空间的利用也是一种更优的选择。 总而言之,时间复杂度是用来衡量算法效率的指标,通过对问题规模的增长趋势进行分析,可以评估算法的时间消耗。在算法设计和选择中,综合考虑时间复杂度、空间复杂度等因素,可以找到最优的算法解决问题。 ### 回答3: 时间复杂度是一种用来评估算法运行效率的指标。它表示算法执行所需要的时间与问题规模之间的关系。具体来说,时间复杂度描述了当问题规模增大时,算法执行时间的增长趋势。时间复杂度并不表示算法的具体执行时间,而是用大O表示法来表示算法的相对执行时间。 在分析时间复杂度时,通常忽略一些常数项和低次项,只关注影响算法运行时间的主要因素。常见的时间复杂度有 O(1)、O(log n)、O(n)、O(n log n)和O(n^2)等。其中,O(1)表示算法的执行时间是常数,即不随问题规模的增大而增加;O(log n)表示算法的执行时间呈对数增长;O(n)表示算法的执行时间与问题规模成线性增长;O(n log n)表示算法的执行时间是线性对数级别;而O(n^2)表示算法执行时间是平方级别的。 通过分析算法的时间复杂度,可以帮助我们选择更加高效的算法来解决问题。一般来说,时间复杂度越低的算法执行效率越高。但需要注意的是,时间复杂度只是一种概念上的评估,并不完全代表算法的实际执行时间,因为实际执行时间还受到计算机硬件、操作系统等因素的影响。 总而言之,时间复杂度是衡量算法执行效率的一种指标,它描述了算法执行时间与问题规模之间的关系。通过分析时间复杂度,我们可以选择更加高效的算法来解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值