中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么實現合并排序

發布時間:2021-06-18 17:43:25 來源:億速云 閱讀:501 作者:Leah 欄目:大數據

本篇文章為大家展示了Python中怎么實現合并排序,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1、歸并排序原理
     歸并排序采用分而治之的原理:

     一、將一個序列從中間位置分成兩個序列;

     二、在將這兩個子序列按照第一步繼續二分下去;

     三、直到所有子序列的長度都為1,也就是不可以再二分截止。這時候再兩兩合并成一個有序序列即可。

2、一圖以明之   

Python中怎么實現合并排序


3、Python代碼
def merge(a, b):
    c = []
    h = j = 0
    while j < len(a) and h < len(b):
        if a[j] < b[h]:
            c.append(a[j])
            j += 1
        else:
            c.append(b[h])
            h += 1

    if j == len(a):
        for i in b[h:]:
            c.append(i)
    else:
        for i in a[j:]:
            c.append(i)

    return c


def merge_sort(lists):
    if len(lists) <= 1:
        return lists
    middle = len(lists)//2
    left = merge_sort(lists[:middle])
    right = merge_sort(lists[middle:])
    return merge(left, right)


if __name__ == '__main__':
    a = [14, 2, 34, 43, 21, 19]
    print (merge_sort(a))

上述內容就是Python中怎么實現合并排序,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四川省| 饶平县| 蕲春县| 陵川县| 建始县| 淳安县| 陈巴尔虎旗| 涡阳县| 浑源县| 柳州市| 乌兰察布市| 麦盖提县| 新田县| 高淳县| 揭阳市| 多伦县| 西华县| 潞西市| 沁源县| 武冈市| 千阳县| 阜康市| 密山市| 桦南县| 吉水县| 龙海市| 崇礼县| 阜宁县| 彰武县| 博野县| 安宁市| 醴陵市| 奈曼旗| 油尖旺区| 普定县| 桂平市| 巴彦县| 增城市| 龙游县| 凌云县| 平潭县|