溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python 算法

發(fā)布時(shí)間:2020-08-08 11:31:05 來(lái)源:網(wǎng)絡(luò) 閱讀:654 作者:1350368559 欄目:軟件技術(shù)
算法的復(fù)雜度

算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源
時(shí)間復(fù)雜度用“O(數(shù)量級(jí))”來(lái)表示
常見(jiàn)的時(shí)間復(fù)雜度有:
O(1)常數(shù)階; 問(wèn)題規(guī)模越大效率越高,時(shí)間不變, a = [1,2,3] a[0]=1,a增加無(wú)影響

O(log2n)對(duì)數(shù)階:?jiǎn)栴}規(guī)模越大效率越高,時(shí)間增加慢,

O(n):線性階,時(shí)間隨數(shù)據(jù)規(guī)模增加,線性增加,時(shí)間增加正常 , 例子:for i in range(n)

O(n2):平方階,時(shí)間隨數(shù)據(jù)規(guī)模增加,指數(shù)增加,時(shí)間增加快 ,for i in range(n): for j in range(i):........

n代表問(wèn)題規(guī)模
算法中花費(fèi)的時(shí)間與算法中語(yǔ)句的執(zhí)行次數(shù)成正比

空間復(fù)雜度 S(n)

一個(gè)程序的空間復(fù)雜度是指:運(yùn)行完一個(gè)程序所需要內(nèi)存的大小

數(shù)據(jù)交換
三個(gè)數(shù)排序
a=11, b=9, c=8 臨時(shí)變量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,手動(dòng)輸入5個(gè)元素,打印出元素為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:")) #手動(dòng)輸入需要修改為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問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI