算法复杂度估算 大O表示法

本文探讨了算法复杂度的估算方法,重点介绍了大O表示法。通过比较不同算法在处理相同输入时的执行时间,指出硬件和环境对执行效率的影响,并强调在不同输入条件下性能的变化。文章讲解了时间复杂度和空间复杂度的概念,指出在估算程序指令执行次数和所需存储空间时,主要关注最高阶项,忽略低阶项和常数。对于时间复杂度,特别提到了O(logn)的估算,并讨论了空间复杂度与定义对象数量的关系。
摘要由CSDN通过智能技术生成

从执行效率上来评估一个算法的好坏, 基本方式就是比较不同算法对同一组输入的执行处理时间
这种方式存在缺点,执行时间对硬件和环境的依赖比较严重 不同的硬件和环境执行的时间完全不同
在不同的输入条件之下,可能性能优劣也存在不同的结果 比如循环求和,数越多性能越差
可读性,和健壮性(对不合理输入的反应能力和执行能力)

时间复杂度 估算程序指令的执行次数
空间复杂度,估算所需要的占用的储存空间(需要创建多少个对象)
在这里插入图片描述
其实就是求此数是 2 的几次方,求对数 log2(n) 执行次数就是 log2(n)
在这里插入图片描述

这个就是求5的对数, log5(n)
for 循环分为四块 定义的1 和 判断语句, 执行实体 和 循环后执行

大O表示>
如果执行次数是常数就是O(1)
当n是常数的时候,为 O(n) 即使 n有系数, n在很大的情况下,系数是可以忽略的
在低阶的情况下也统一记为 n的X次方 忽略低阶只取高阶
在这里插入图片描述

从数学上来说
在这里插入图片描述

从大O表示法来说 我们忽略常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值