算法:时间复杂度

本文探讨了时间复杂度作为评估算法效率的重要工具,介绍了大O记法的概念。通过实例分析了一个双层循环的代码片段,计算其最坏时间复杂度为O(n^2)。此外,还概述了常见时间复杂度之间的关系,帮助读者理解不同时间复杂度的比较和选择。
摘要由CSDN通过智能技术生成

时间复杂度和“大O记法”

单纯依靠运行时间来比较算法的优劣并不一定客观准确,因为程序的运行离不开计算机的环境(包括硬件和操作系统),这些客观因素会影响计算速度,因此,我们引出了“大O记法”。

在这里插入图片描述

最坏时间复杂度

在这里插入图片描述

时间复杂度的几条基本计算规则

在这里插入图片描述

for i in range(1,n):
    for j in range(1,n):
        k = 1000 - i - j
        if i**2+j**2==k**2:
            print(i,j,k)

两个for循环:n* n
第二个循环中有一个顺序语句:n* n*(1)
第二个循环中还有一个判断语句,选择最坏时间复杂度,即:T(n)= n* n*(1+max(1,0))=O(n*2)

常见时间复杂度

在这里插入图片描述

常见时间复杂度之间的关系

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值