成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

20170718-各種排序方法

PAMPANG / 1066人閱讀

摘要:插入排序插入排序是穩(wěn)定的排序方法時(shí)間復(fù)雜度冒泡排序插入排序是穩(wěn)定的排序方法時(shí)間復(fù)雜度快速排序插入排序是不穩(wěn)定的排序方法時(shí)間復(fù)雜度選擇排序簡(jiǎn)單選擇排序這種簡(jiǎn)單選擇排序是穩(wěn)定的排序方法時(shí)間復(fù)雜度堆排序堆排序是

1.插入排序
function insertSort(array){
    var i = 0,
        j = 0,
        len = array.length,
        flag = 0
    for(i=1; i=0 && flag < array[j]; j--){
                array[j+1] = array[j]
            }
            array[j+1] = flag
        }
    }
}

插入排序是穩(wěn)定的排序方法

時(shí)間復(fù)雜度 O(n2)

2.冒泡排序
function bubbleSort(array){
    var i = 0,
        j = 0,
        len = array.length
    for(i=0; i

插入排序是穩(wěn)定的排序方法

時(shí)間復(fù)雜度 O(n2)

3.快速排序
function partition(array, low, high){
    var flag = array[low]
    while(low=flag && low

插入排序是不穩(wěn)定的排序方法

時(shí)間復(fù)雜度 O(nlogn)

4.選擇排序 簡(jiǎn)單選擇排序
function selectSort(array){
    var i = 0,
        j = 0,
        temp = 0,
        len = array.length
    for(i=0; i< len; i++){
        j = array.indexOf(Math.min.apply(null, array.slice(i)))
        if(i!==j){
            temp = array[i]
            array[i] = array[j]
            array[j] = temp
        }
    }
}

這種簡(jiǎn)單選擇排序是穩(wěn)定的排序方法

時(shí)間復(fù)雜度 O(n2)

堆排序
function HeapAdjust(array, s, m){
    var key = array[s]
    for(var j = 2*s; j<=m; j*=2){
        if(j= array[j]){
            break
        }
        array[s] = array[j]
        s = j
    }
    array[s] = key
}
function heapSort(array){
    array.unshift(0)
    var i = 0,
        length = array.length - 1
    for(i=Math.floor(length/2); i>0; i--){
        HeapAdjust(array, i, length)
    }
    for(i=length; i>0; --i){
        var temp = array[i]
        array[i] = array[1]
        array[1] = temp
        HeapAdjust(array, 1, i-1)
    }
    
}

堆排序是不穩(wěn)定的排序方法

時(shí)間復(fù)雜度 O(nlogn)

5.歸并排序
function merge(left, right){
    let result = []
    
    while(left.length && right.length){
        if(left[0] <= right[0]){
            result.push(left.shift())
        }else {
            result.push(right.shift())
        }
    }
    if(left.length){
        return result.concat(left)
    }
    if(right.length){
        return result.concat(right)
    }
}
function mergeSort(array){
    if(array.length <= 1){
        return array
    }
    let mid = Math.ceil(array.length / 2),
        left = array.slice(0, mid),
        right = array.slice(mid)
    
    return merge(mergeSort(left), mergeSort(right))
}

歸并排序是不穩(wěn)定的排序方法

時(shí)間復(fù)雜度 O(nlogn)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88332.html

相關(guān)文章

  • Mac下安裝PHP開(kāi)發(fā)調(diào)試環(huán)境(ngnix+php72+xdebug)

    摘要:下安裝開(kāi)發(fā)調(diào)試環(huán)境從事開(kāi)發(fā)已經(jīng)近兩年了,之前調(diào)試一直是通過(guò)古老的和配合,自從接觸以來(lái)一直不習(xí)慣這種動(dòng)態(tài)語(yǔ)言的的調(diào)試方式,一直想用一用像靜態(tài)語(yǔ)言那樣調(diào)試。安裝是上的軟件包管理工具,類似于上的,非常好用。安裝后的軟件可以通過(guò)命令查看,目錄在。 Mac下安裝PHP開(kāi)發(fā)調(diào)試環(huán)境(ngnix+php72+xdebug) ????從事php開(kāi)發(fā)已經(jīng)近兩年了,之前調(diào)試一直是通過(guò)古老的echo和die...

    CKJOKER 評(píng)論0 收藏0
  • php+swoole+redis源碼編譯安裝

    摘要:下載源碼包下載源碼包最后將添加到中,查看擴(kuò)展,出現(xiàn)則安裝成功安裝安裝用于對(duì)異步客戶端的支持重新編譯使用命令檢測(cè)安裝的擴(kuò)展時(shí)可能會(huì)出現(xiàn)一下警告解決方案在最后一行添加安裝同步擴(kuò)展最后將添加到中,查看擴(kuò)展,出現(xiàn)則安裝成功 1、下載PHP源碼包 http://php.net/get/php-7.2.4.... tar -zxvf php-7.2.4.tar.gz cd php-7.2.4 ....

    callmewhy 評(píng)論0 收藏0
  • phpunit 單元測(cè)試之代碼覆蓋率

    摘要:最近團(tuán)隊(duì)在不斷完善項(xiàng)目中的單元測(cè)試用例,會(huì)用到代碼覆蓋率分析,本來(lái)以為應(yīng)該默認(rèn)安裝了,所以使用來(lái)生成報(bào)告,但是執(zhí)行后提示如下錯(cuò)誤這是因?yàn)闆](méi)有安裝或啟用導(dǎo)致。 最近團(tuán)隊(duì)在不斷完善項(xiàng)目中的單元測(cè)試用例,會(huì)用到代碼覆蓋率分析,本來(lái)以為 homestead 應(yīng)該默認(rèn)安裝了 xdebug ,所以使用 phpunit --coverage-html ./tests/codeCoverage 來(lái)生成...

    blankyao 評(píng)論0 收藏0
  • 源碼安裝php7

    摘要:源碼安裝一下載源碼包官網(wǎng)點(diǎn)擊下載最新版本的二編譯安裝解壓可能需要你安裝的執(zhí)行,如果能看到的擴(kuò)展,說(shuō)明安裝成功三簡(jiǎn)化執(zhí)行命令加入一行四可能遇到的一些坑安裝需要你安裝和把源碼目錄的拷貝到下然后把改名為,可以看到默認(rèn)放在目錄下所 源碼安裝php7 一、下載php源碼包 php官網(wǎng) 點(diǎn)擊download下載最新版本的php 二、編譯安裝 解壓 tar -vjxf php-7.2.5.t...

    VEIGHTZ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

PAMPANG

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<