久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    python數(shù)據(jù)結(jié)構(gòu)與算法之排序

     印度阿三17 2019-03-13

    排序算法的穩(wěn)定性:

    假設(shè)有一串?dāng)?shù)據(jù):(4,1)(3,1)(3,7)(5,6);要求按照第一個(gè)數(shù)排序,結(jié)果如下:

    第一種:(3,1)(3,7)(4,1)(5,6)(3相同,維持原來(lái)的次序)

    第二種:(3,7)(3,1)(4,1)(5,6)(3相同,次序被改變)

    第一種是穩(wěn)定的。

    冒泡排序(以從小到大排為例):

    每次走一遍把最大的元素冒泡,排到最后。

    '''
    冒泡排序:它也可以用于之前講的鏈表什么的,只是交換部分稍微煩一點(diǎn),思想一樣。這里簡(jiǎn)單一點(diǎn) ,以數(shù)字為例
    '''
    def bubble_sort(alist):
        '''冒泡排序,參數(shù)為列表'''
        n = len(alist)-1
        for j in range(n):
            for i in range(n-j):
                if alist[i]>alist[i 1]:
                    # 前一個(gè)大于后一個(gè),交換
                    alist[i], alist[i 1] = alist[i 1], alist[i]    # 這樣寫(xiě)在python這種動(dòng)態(tài)語(yǔ)言中可以
    
    if __name__ == '__main__':
        a = [2,0,5,1,10]
        bubble_sort(a)
        print(a)

    冒泡排序的時(shí)間復(fù)雜度為:最壞可以認(rèn)為是O(n^2),穩(wěn)定的

    改進(jìn):假如傳入的序列就是有序的,比如[1,2,3,4,5,6]。此時(shí)按照上面代碼還是要一步步比較,復(fù)雜度是一樣的。改進(jìn)之后,最優(yōu)時(shí)間復(fù)雜度為O(n),最壞時(shí)間復(fù)雜度不變。

    def bubble_sort(alist):
        '''冒泡排序,參數(shù)為列表'''
        n = len(alist)-1
        for j in range(n):
            count = 0
            for i in range(n-j):
                if alist[i]>alist[i 1]:
                    # 前一個(gè)大于后一個(gè),交換
                    alist[i], alist[i 1] = alist[i 1], alist[i]    # 這樣寫(xiě)在python這種動(dòng)態(tài)語(yǔ)言中可以
                    count  = 1
            if count == 0:
                return 

    選擇排序:

    思想解釋?zhuān)好看握业阶钚〉闹担c無(wú)序數(shù)中的一個(gè)數(shù)交換,比如:

    a = [52,100,23,43,55,20,17,108]

    找到最小值是17,將17與52交換,得:

    a = [17,100,23,43,55,20,52,108]

    看除了第一個(gè)數(shù)17外,其他最小的為20,與“第一個(gè)數(shù)”100交換:

    a = [17,20,23,43,55,100,52,108]

    此時(shí),前面兩個(gè)數(shù)已經(jīng)有序,以此往下。

    def select_sort(alist):
        """選擇排序,既然是研究數(shù)據(jù)結(jié)構(gòu)與算法,這里不用min()函數(shù)"""
        n = len(alist)
        for j in range(n-1):
            # 記錄最小值的位置,這里首次默認(rèn)是無(wú)序中的第一個(gè)
            min_index = j
            for i in range(j 1,n):
                if alist[i]<alist[min_index]:
                    min_index = i
            alist[j], alist[min_index] = alist[min_index], alist[j]

    選擇排序的時(shí)間復(fù)雜度:O(n^2),不穩(wěn)定

    插入算法:

    思想理解,與上面選擇排序有點(diǎn)雷士,其實(shí)還是將序列無(wú)形的分為兩部分。比如序列[52,100,23,43,55,20,17,108]。

    將序列分為[52,                      100,23,43,55,20,17,108],第一部分是有序的。

    然后將無(wú)序中的第一個(gè)100與有序中52比較,放在正確的位置[52,100,                      23,43,55,20,17,108],

    同理接著比較23與[52,100],將其插入正確的位置[23,52,100,                            43,55,20,17,108]

    來(lái)源:http://www./content-1-138451.html

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

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶(hù) 評(píng)論公約

      類(lèi)似文章 更多

      主站蜘蛛池模板: 久久精品国产蜜臀av| 婷婷综合久久中文字幕| 国产福利高颜值在线观看| 少妇又色又紧又爽又刺激视频| 亚洲午夜无码久久久久蜜臀av | CHINESETUBE国产在线观看| 久久午夜夜伦鲁鲁片免费无码影视| 高潮潮喷奶水飞溅视频无码| 加勒比无码人妻东京热| 亚洲乱码在线卡一卡二卡新区| 国产精成人品日日拍夜夜 | 国产精品中文av专线| 老湿机69福利区18禁网站| 男女性杂交内射女bbwxz| 国产精品VA尤物在线观看| 亚洲JIZZJIZZ中国少妇中文| 国产成人A在线视频免费| 日日噜噜夜夜爽爽| 少妇高潮水多太爽了动态图| 欧美成人免费全部| 国产在线不卡精品网站| xxxx丰满少妇高潮| 国产综合色产在线精品| 精品一区二区免费不卡| 老师在办公室被躁在线观看| 男女动态无遮挡动态图| 亚洲中文字幕无线无码毛片 | 无码国产偷倩在线播放| 国内精品久久久久久久小说 | 国产精品人妻中文字幕| 国产午夜手机精彩视频| 国产精品福利自产拍久久| 无码人妻少妇久久中文字幕蜜桃| 成 人色 网 站 欧美大片| 国产精品麻豆中文字幕| 精品久久久久久无码中文野结衣 | 成年女人18级毛片毛片免费| 九九在线精品国产| 精品无码一区二区三区AV| 免费无码VA一区二区三区| 男人狂桶女人高潮嗷嗷|