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

資訊專欄INFORMATION COLUMN

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

biaoxiaoduan / 1824人閱讀

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

思想

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

(1)在數(shù)據(jù)集之中,找一個(gè)基準(zhǔn)點(diǎn)

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

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

JS實(shí)現(xiàn)
var needSortArr = [12, 23, 45, 11, 2, 55, 12, 1];
function quickSort (arr) {
    if (arr.length <= 1) {
        return arr;         //如果數(shù)組只有一個(gè)數(shù),就直接返回;
    }
    var num = Math.floor(arr.length / 2),        //找到中間數(shù)的索引值,如果是浮點(diǎn)數(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));

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

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

相關(guān)文章

  • 排序之八大絕技

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

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

    摘要:快速排序的核心是以基數(shù)為中心,將數(shù)組分為兩個(gè)區(qū)間,小于基數(shù)的放到基數(shù)的左邊,大于基數(shù)的放到基數(shù)的右邊。快速排序在每次挖坑的過程中,需要個(gè)空間存儲(chǔ)基數(shù)。而快速排序的大概需要次的處理,所以占用空間也是個(gè)。 快速排序 原理 快速排序是C.R.A.Hoare提出的一種交換排序。它采用分治的策略,所以也稱其為分治排序。 實(shí)現(xiàn)快速排序算法的關(guān)鍵在于,先在數(shù)組中選一個(gè)數(shù)作為基數(shù),接著以基數(shù)為中心將數(shù)...

    zhaochunqi 評(píng)論0 收藏0
  • Java數(shù)據(jù)結(jié)構(gòu)與算法——快速排序

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

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

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

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

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

0條評(píng)論

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