1. gzyueqian
      13352868059

      粵嵌Python學(xué)習(xí)方法 解析Python冒泡排序和選擇排序

      更新時間: 2019-01-16 14:47:14來源: 粵嵌教育瀏覽量:5682

        Python的冒泡排序和選擇排序各自是什么意思呢,Python學(xué)習(xí)方法有哪些?就跟著粵嵌一起來看看。

        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ù)雜度

        時間復(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>list[i+1]:

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

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

        bubble_sort(List)

        print(List)

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

        Python學(xué)習(xí)方法中選擇排序(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,list[min_dex]=list[min_dex],list

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

        select_sort(List)

        print(List)

        Python學(xué)習(xí)方法關(guān)于Python冒泡排序和選擇排序的內(nèi)容就暫且說到這里,如想了解更多資訊,歡迎關(guān)注粵嵌教育。


      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲日韩欧美精品一中文字幕 | 久久精品国产乱子伦免费 | 无遮挡国产高潮视频免费观看 | 亚洲成网站在线播放观看 | 亚洲а∨天堂手机版在线观看 | 在线日本AⅤ视频 |