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

資訊專欄INFORMATION COLUMN

快速排序思想及實現(xiàn)

biaoxiaoduan / 1836人閱讀

摘要:思想快速排序的思想很簡單,整個排序過程只需要三步在數(shù)據(jù)集之中,找一個基準點建立兩個數(shù)組,分別存儲左邊和右邊的數(shù)組利用遞歸進行下次比較實現(xiàn)如果數(shù)組只有一個數(shù),就直接返回找到中間數(shù)的索引值,如果是浮點數(shù),則向下取整找到中間數(shù)的值

思想

"快速排序"的思想很簡單,整個排序過程只需要三步:

(1)在數(shù)據(jù)集之中,找一個基準點

(2)建立兩個數(shù)組,分別存儲左邊和右邊的數(shù)組

(3)利用遞歸進行下次比較

JS實現(xiàn)
var needSortArr = [12, 23, 45, 11, 2, 55, 12, 1];
function quickSort (arr) {
    if (arr.length <= 1) {
        return arr;         //如果數(shù)組只有一個數(shù),就直接返回;
    }
    var num = Math.floor(arr.length / 2),        //找到中間數(shù)的索引值,如果是浮點數(shù),則向下取整
        numberOfCenter = arr.splice(num, 1),     //找到中間數(shù)的值
        left = [], right = [];
    for(var i = 0; i < arr.length; i++) {
        if (arr[i] < numberOfCenter) {
            left.push(arr[i]);
        } else {
            right.push(arr[i]);
        }
    }
    return quickSort(left).concat([numberOfCenter], quickSort(right));
}
alert(quickSort(needSortArr));

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

轉載請注明本文地址:http://systransis.cn/yun/80699.html

相關文章

  • 排序之八大絕技

    摘要:需要注意的是排升序要建大堆,排降序建小堆。應用場景需要前個最大或最小元素時,或者與其他排序一塊使用五冒泡排序排序思想大的元素向下沉,小的元素向上浮。 目錄 一.插入排序 1.插入排序思想 2.動態(tài)圖形演示 ?3.插排思路與圖解 4.插入排序代碼實現(xiàn)(升序) 5.時間復雜度,空間復雜度及穩(wěn)定...

    Vixb 評論0 收藏0
  • 快速排序優(yōu)化

    摘要:快速排序的核心是以基數(shù)為中心,將數(shù)組分為兩個區(qū)間,小于基數(shù)的放到基數(shù)的左邊,大于基數(shù)的放到基數(shù)的右邊??焖倥判蛟诿看瓮诳拥倪^程中,需要個空間存儲基數(shù)。而快速排序的大概需要次的處理,所以占用空間也是個。 快速排序 原理 快速排序是C.R.A.Hoare提出的一種交換排序。它采用分治的策略,所以也稱其為分治排序。 實現(xiàn)快速排序算法的關鍵在于,先在數(shù)組中選一個數(shù)作為基數(shù),接著以基數(shù)為中心將數(shù)...

    zhaochunqi 評論0 收藏0
  • Java數(shù)據(jù)結構與算法——快速排序

    摘要:快排是一種不穩(wěn)定的排序算法,在經(jīng)過排序后,等值的元素的相對位置可能發(fā)生改變。 聲明:碼字不易,轉載請注明出處,歡迎文章下方討論交流。 前言:Java數(shù)據(jù)結構與算法專題會不定時更新,歡迎各位讀者監(jiān)督。本篇文章介紹排序算法中最常用也是面試中最容易考到的排序算法——快排,包括快排的思想和原理、java快排代碼、快排的特點性能和快排的適用場景。 0、其他排序算法索引(待更) java數(shù)據(jù)結構與...

    Panda 評論0 收藏0
  • JavaScript 數(shù)據(jù)結構與算法之美 - 歸并排序、快速排序、希爾排序、堆排序

    摘要:之所以把歸并排序快速排序希爾排序堆排序放在一起比較,是因為它們的平均時間復雜度都為。歸并排序是一種穩(wěn)定的排序方法。因此,快速排序并不穩(wěn)定。希爾排序思想先將整個待排序的記錄序列分割成為若干子序列。 showImg(https://segmentfault.com/img/bVbvpYZ?w=900&h=250); 1. 前言 算法為王。 想學好前端,先練好內(nèi)功,只有內(nèi)功深厚者,前端之路才...

    haitiancoder 評論0 收藏0

發(fā)表評論

0條評論

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