日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)Python教程:python歸并排序如何理解

說明

創(chuàng)新互聯(lián)是專業(yè)的咸寧網站建設公司,咸寧接單;提供成都做網站、網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行咸寧網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!

1、歸并排序是一種高效、穩(wěn)定的合并運算排序算法,它是采用分治方法的典型應用。

2、基本思想大致為:首先通過遞歸的方式將給定的數組二分為二分,再按大小比較進行兩次大小比較排序,最后逐級合并完成總體的排序。

歸并排序更有效,它設置了n個列長,將數列分成小數列,需要logn步驟,每個步驟都是一個合并有序數列的過程,時間復雜性為O(nlogn),即O(n)。

實例

import random
 
def ConfiationAlgorithm(str):
    if len(str) <= 1: #子序列
        return str
    mid = (len(str) / 2)
    left = ConfiationAlgorithm(str[:mid])#遞歸的切片操作
    right = ConfiationAlgorithm(str[mid:len(str)])
    result = []
    #i,j = 0,0
 
    while len(left) > 0 and len(right) > 0:
        if (left[0] <= right[0]):
            #result.append(left[0])
            result.append(left.pop(0))
            #i+= 1
        else:
            #result.append(right[0])
            result.append(right.pop(0))
            #j+= 1
 
    if (len(left) > 0):
        result.extend(ConfiationAlgorithm(left))
    else:
        result.extend(ConfiationAlgorithm(right))
    return result   
if __name__ == '__main__':
    a = [20,30,64,16,8,0,99,24,75,100,69]
    print ConfiationAlgorithm(a)
    b = [random.randint(1,1000) for i in range(10)]
    print ConfiationAlgorithm(b)

以上就是python歸并排序的理解,希望對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)python教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


文章標題:創(chuàng)新互聯(lián)Python教程:python歸并排序如何理解
本文地址:http://m.5511xx.com/article/ccepsei.html