算法的时间复杂度

2273-Car同学

发表文章数:9

热门标签

,
首页 » 数据结构 » 正文

数据结构和算法

  • 古代等于兵法

  • 持续学习

  • 锻炼思维能力,学习能力

枚举法

  • 遍历所有取值

  • 循环嵌套

  • 这种方法需要较长时间

算法改进

  • 时间代表效率

  • 时间复杂度(基本运算步骤)

  • 计算步骤描述算法优劣

  • 幂次相同,系数大小一般不重要,认为是相同数量级别

时间复杂度计算规则

  • 所有编程语言都有顺序,分支,循环
  • 顺序结构用加法,循环结构用乘法,分支结构,选取最坏的时间复杂度分支

举例说明

  • a+b+c=1000,满足a^2 + b ^2 = c ^2,的a,b,c 的值
import time
start_time()
for a in range(0,1001):
    for b in range(0,100,):
        for c in range(0,1001):
            if a+b+c == 1000 and a**2 + b**2 == c**2:
                print('a,b,c',a,b,c)
end_time()
print('完成时间:',end_time - star_time)
print('finish')

这个例子的时间复杂度为1000^3

  • 请看第二个例子
import time
start_time()
for a in range(0,1001):
    for b in range(0,100,):
        c= 1000 - a - b
        if a**2+b**2 == c**2
        print('a,b,c'.a,b,c)
end_time()
print('完成时间:',end_time - star_time)
print('finish')

        
        

这个例子的时间复杂度为1000^2

未经允许不得转载:作者:2273-Car同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《算法的时间复杂度》 发布于2021-10-07

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录