国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

20170718-各種排序方法

PAMPANG / 1058人閱讀

摘要:插入排序插入排序是穩(wěn)定的排序方法時間復(fù)雜度冒泡排序插入排序是穩(wěn)定的排序方法時間復(fù)雜度快速排序插入排序是不穩(wěn)定的排序方法時間復(fù)雜度選擇排序簡單選擇排序這種簡單選擇排序是穩(wěn)定的排序方法時間復(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)定的排序方法

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

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

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

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

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

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

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

4.選擇排序 簡單選擇排序
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
        }
    }
}

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

時間復(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)定的排序方法

時間復(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)定的排序方法

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

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/88332.html

相關(guān)文章

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

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

    CKJOKER 評論0 收藏0
  • php+swoole+redis源碼編譯安裝

    摘要:下載源碼包下載源碼包最后將添加到中,查看擴(kuò)展,出現(xiàn)則安裝成功安裝安裝用于對異步客戶端的支持重新編譯使用命令檢測安裝的擴(kuò)展時可能會出現(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 評論0 收藏0
  • phpunit 單元測試之代碼覆蓋率

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

    blankyao 評論0 收藏0
  • 源碼安裝php7

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

    VEIGHTZ 評論0 收藏0

發(fā)表評論

0條評論

PAMPANG

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<