温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python 算法

发布时间:2020-08-08 11:31:05 来源:网络 阅读:659 作者:1350368559 栏目:软件技术
算法的复杂度

算法的时间复杂度是指算法需要消耗的时间资源
时间复杂度用“O(数量级)”来表示
常见的时间复杂度有:
O(1)常数阶; 问题规模越大效率越高,时间不变, a = [1,2,3] a[0]=1,a增加无影响

O(log2n)对数阶:问题规模越大效率越高,时间增加慢,

O(n):线性阶,时间随数据规模增加,线性增加,时间增加正常 , 例子:for i in range(n)

O(n2):平方阶,时间随数据规模增加,指数增加,时间增加快 ,for i in range(n): for j in range(i):........

n代表问题规模
算法中花费的时间与算法中语句的执行次数成正比

空间复杂度 S(n)

一个程序的空间复杂度是指:运行完一个程序所需要内存的大小

数据交换
三个数排序
a=11, b=9, c=8 临时变量t

[root@133 ~]# vim change.py      
#!/usr/bin/python

def swap(a,b,c):
    if  a > b:
        t = a
        a = b
        b = t
    if  a > c:
        t = a
        a = c
        c = t
    if  b > c:
        t = b
        b = c
        c = t
    print  a,b,c

if name == 'main':
swap(11,9,8)

例子2:list A全部为0,修改部分列表元素为1,手动输入5个元素,打印出元素为0的元素位置
python 算法

python 算法

[root@133 ~]# vim key.py   
#!/usr/bin/python
#encoding:utf8
def key():
    a = []
    for i in  range(10):
        a.append(0)   #a=[0,0,0,0,0,0,0,0,0,0]
    for i in range(5):
        input = int(raw_input("Please input a num:")) #手动输入需要修改为1的列表元素
        a[input] = 1 # a[4]=1
    for i in range(len(a)):
        if a[i] == 0:
            print i

if __name__ == '__main__':
    key()
~                      

[root@133 ~]# python key.py
Please input a num:1
Please input a num:2
Please input a num:3
Please input a num:4
Please input a num:5
0
6
7
8
9
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI