算法题的时间复杂度

算法题的时间要求

在这里插入图片描述

计时工具timeit

print(timeit.timeit("print4()", "from __main__ import print4", number=1000000))
print(timeit.timeit(print4, "from __main__ import print4", number=1000000))

接受的参数

  1. 字符串型/可执行型,如果是字符串就是你要执行的程序或者是带括号的函数,如果是可执行型不能带括号
  2. 第二个参数是建立测试的语句,"from __main__ import print4"可以把print4从__main__命名空间导入到timeit设置计时的命名空间。注意这样可以在一个干净的环境中运行计时测试,以免某些变量以某种意外的方式干扰函数的性能。注意这里的函数不能加括号
  3. 后面还有number参数,可设置执行次数,默认一百万次

返回值

一个以秒为单位的浮点数

如何加快输出

众所周知,print在python里的运行速度非常滴慢

真正快就是标准输出流

sys.stdout.write('1\n')

相当于print(1)

在某些情况下将所有输出都加入列表可以加快输出速度

在某些情况下,在打印之前将输出追加到列表可能是一个更快的选择。以下是一些示例:

  1. 当您需要生成大量输出时:如果要生成大量输出,将输出追加到列表可能比单独打印每一行更快。这是因为它减少了系统需要在 Python 解释器和控制台之间切换的次数,这在打印大量数据时可能是开销的重要来源。
  2. 当输出复杂或需要格式化时:如果输出复杂或需要格式化,将其追加到列表可以在打印前更轻松地管理和修改输出。例如,如果需要生成带有标题、副标题和脚注的报告,则可以将报表的每个部分追加到列表中,然后在打印之前设置输出的格式并加入输出。
  3. 需要捕获输出以供以后使用时:如果需要捕获输出以供以后使用,例如将其保存到文件或将其传递给另一个函数,则将输出追加到列表可以更轻松地操作和存储输出。
  4. 需要按特定顺序打印输出时:如果输出的顺序很重要,则将输出追加到列表可以更轻松地确保输出以正确的顺序打印。例如,如果需要打印包含行和列的数据表,则可以将每一行追加到列表中,然后按正确的顺序打印行。

与往常一样,在您的特定用例中测试和衡量不同方法的性能以确定最适合您的情况的方法非常重要。

O(1)

len()

str/bytes/list/tuple 的长度由解释器在内部记录并维护

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈子昂-北工大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值