久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

扣丁學(xué)堂零基礎(chǔ)Python培訓(xùn)l老師解析Python冒泡排序和選擇排序

 靜幻堂 2018-09-13
扣丁學(xué)堂 2018-09-13 09:49:35

大家在學(xué)習(xí)Python的時候,,會接觸到冒泡排序和選擇排序這兩個詞,,那它具體是怎么回事呢,?今天小編就來給大家講一講吧,希望可以幫助到大家,,也給參加Python培訓(xùn)的同學(xué)一個參考,。

Python數(shù)據(jù)結(jié)構(gòu)之冒泡排序

冒泡排序是一種基礎(chǔ)排序算法,在python中,,我們利用列表的的方式來完成,,它對列表中的元素進(jìn)行重復(fù)的遍歷,在遍歷的同時進(jìn)行比較,,如果兩個數(shù)沒有按照我們規(guī)定的順序進(jìn)行排列,,就按照我們預(yù)先設(shè)定好的是順序或者逆序輸出,類似于燒開水時的氣泡,主要操作如下:

比較相鄰的元素,。如果第一個比第二個大(升序),,就交換他們兩個。

對每一對相鄰元素作同樣的工作,,從開始第一對到結(jié)尾的最后一對,。這步做完后,最后的元素會是最大的數(shù),。

針對所有的元素重復(fù)以上的步驟,,除了最后一個。

持續(xù)每次對越來越少的元素重復(fù)上面的步驟,,直到?jīng)]有任何一對數(shù)字需要比較,。

時間復(fù)雜度

最優(yōu)時間復(fù)雜度:O(n)(表示遍歷一次發(fā)現(xiàn)沒有任何可以交換的元素,排序結(jié)束,。)

最壞時間復(fù)雜度:O(n2)

穩(wěn)定性:穩(wěn)定

附上完整代碼:

defbubble_sort(list):

forjinrange(len(list)-1,0,-1):

foriinrange(j):

iflist[i]>list[i+1]:

list[i],list[i+1]=list[i+1],list[i]

List=[1,3,2,8,4,6,9,7]

bubble_sort(List)

print(List)

Python數(shù)據(jù)結(jié)構(gòu)之選擇排序

選擇排序(select_sort)是一個基礎(chǔ)排序,,它主要通過查找已給序列中的元素的最大或者最小元素,然后將其放在序列的起始位置或者結(jié)束位置,,并通過多次這樣的循環(huán)完成對已知序列的排序,,在我們對n個元素進(jìn)行操作時,我們至少需要n-1次,。

defselect_sort(list):

n=len(list)

#進(jìn)行n-1次操作

foriinrange(n-1):

min_dex=i

#記錄最小的位置

forjinrange(i+1,n):

#從i+1選取最小位置

iflist[j]<list[min_dex]:

min_dex=j

#最小位置不對應(yīng)進(jìn)行交換

ifmin_dex!=i:

list[i],list[min_dex]=list[min_dex],list[i]

List=[0,3,1,2,9,4,6,5,8,7]

select_sort(List)

print(List)

以上就是扣丁學(xué)堂Python在線學(xué)習(xí)小編給大家分享的文章,,希望對小伙伴們有所幫助,其實無論是哪種排序,,都應(yīng)該節(jié)省計算的時間,,并且要有好的創(chuàng)意。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多