时间复杂度

这篇博客是关于数据结构与算法中时间复杂度的笔记,主要讲解了大O表示法、时间复杂度的基本计算规则,如顺序、循环、分支结构的计算,并给出了常见时间复杂度的关系。此外,还通过Python的`timeit`模块测试了不同方法生成list和添加元素的时间复杂度,强调了数据结构选择对程序性能的影响。
摘要由CSDN通过智能技术生成

本专题为在b站上学习数据结构与算法课的随堂笔记,所学视频为 AV53583801。

时间复杂度

  1. 大O表示法:T(n) = O(g(n))

  2. 基本计算规则:
    (1)基本操作,如a+b,认为其时间复杂度为O(1)
    (2)顺序结构,按加法计算
    (3)循环结构,按乘法计算
    (4)分支结构,取最大值计算
    (5)判断一个算法的效率时,只考虑最高次项,其他可忽略
    (6)无特殊说明时,算法的时间复杂度指最坏时间复杂度(即算法最多需要多少操作)
    注意:一个函数的复杂度不是1,应该看函数所封装的步骤
    举例

for i in range(0,n):               #n
    for j in range(0,n):           #n
        k = n - i - j              #1
        if i**2 + j**2 == k**2:    #max(0,1)
            print("a,b,c: %d,%d,%d" %(i,j,k))

T(n) = n * n * (1+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值