时间复杂度分析

本文深入探讨了时间复杂度的概念,解释了什么是大O表示法,并介绍了如何化简复杂表达式。文章特别指出,O(logn)中的log并不限定于以2为底,且通过比较两种不同思路解决查找字符串中重复项问题的复杂度,突显了算法效率的重要性。总结部分强调了时间复杂度在算法设计中的关键作用。
摘要由CSDN通过智能技术生成

时间复杂度是一个函数,它定性描述该算法的运行时间

什么是时间复杂度

假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示,随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时间复杂度,记为 O(f(n))。

什么是大O

算法导论给出的解释:大O用来表示上界的,当用它作为算法的最坏情况运行时间的上界,就是对任意数据输入的运行时间的上界。

但默认规定下时间复杂度指的都是一般情况。比如:

时间复杂度4,一般情况下的时间复杂度

一般都说O(nlogn)为快速排序的时间复杂度,这里的O就代表了一般情况,而不是严格的上界。

复杂表达式的化简

这里记录一下一些计算时间复杂度时复杂表达式的化简方法。

比如有算式:O(2*n^2 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值