【算法】时间复杂度/运行时间——大O表示法

大O表示法用于描述算法运行时间随任务量增长的趋势,不关注具体时间单位。它表示最糟糕情况下的运行时间,例如简单查找为O(n),二分查找为O(log n)。常量在大O表示法中通常被忽略,但有时会影响实际运行速度,如快速排序与合并排序。快速排序的平均运行时间是O(n log n),而最糟糕情况是O(n^2)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于所有算法,我们都要讨论其运行时间。一般而言,应该选择效率最高的算法,以最大程度地减少运行时间或占用空间。

大O表示法 是一种特殊的表示法,指出了算法的速度有多快。大O表示法 并不能表示具体算法任务运行的时间,这也没有意义,因为任务量总是在变。我们需要知道运行时间如何随任务量增长而增长,这正是大O法的用武之地。大O法表示指出了算法有多快。例如,假设列表包含n个元素。简单查找需要检查每个元素,因此需要执行n次操作。使用大O表示法,这个运行时间表示为O(n)。并没有时间单位s,这是因为大O法指的并非以秒为单位的速度。大O表示法让你能够比较操作次数,它指出了算法运行时间的增速。如果换用二分法检查长为n的列表,二分查找需要执行log n次操作。使用大O表示法这个的运行时间则为O(log n)

大O表示法 指出了最糟糕情况下的运行时间。假设你在使用简单查找电话簿中的人,查找Adit时,一次就找到了,这是最佳的情形,但大O表示法说的是最糟糕的情形。因此,你可以说,在最糟糕的的情况下,必须查看电话簿中的每一个条目,对应的运行时间为O(n)。这是一个保证——你知道简单查找的运行时间不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值