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

資訊專(zhuān)欄INFORMATION COLUMN

js實(shí)現(xiàn)多種排序算法(算法導(dǎo)論第二章)

hankkin / 3039人閱讀

插入排序:

var a = [1,7,4,2,17,13,9]

function insertionSort(arr){

   arr.map((d,index)=>{
       let i = index
       while(d0){
           [arr[i-1],arr[i]]=[arr[i],arr[i-1]]
           i--
       }
   })

}
insertionSort(a)

歸并排序(非hack)

function merge (arr,l,m,r){

   var left = []
   var right = []
   for (let i =l;i

}
function mergeSort(arr,l,r){

   if(r>l){
       var m=Math.ceil((l+r)/2)
       // console.log(m)
       mergeSort(arr,l,m-1)
       mergeSort(arr,m,r)
       merge(arr,l,m,r)
   }

}

歸并排序(酷炫簡(jiǎn)單)

function merge(left, right) {

 var tmp = [];

 while (left.length && right.length) {
   if (left[0] < right[0])
     tmp.push(left.shift());
   else
     tmp.push(right.shift());
 }

 return tmp.concat(left, right);

}

function mergeSort(a) {

 if (a.length === 1) 
   return a;

 var mid = ~~(a.length / 2)
   , left = a.slice(0, mid)
   , right = a.slice(mid);

 return merge(mergeSort(left), mergeSort(right));

}

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

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

相關(guān)文章

  • 用JavaScript實(shí)現(xiàn)插入排序

    摘要:實(shí)現(xiàn)插入排序插入排序是一種非常簡(jiǎn)單的算法,最適合大部分已經(jīng)被排好序的數(shù)據(jù)。由此才有了這個(gè)名字插入排序。插入排序的最壞情況是輸入的數(shù)組是按逆序排序的??偨Y(jié)當(dāng)輸入的數(shù)組已經(jīng)大部分被排好序時(shí),插入排序的效果最佳。 翻譯:瘋狂的技術(shù)宅https://medium.com/@jimrottin... 本文首發(fā)微信公眾號(hào):前端先鋒歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 插入排序的工作原理...

    LittleLiByte 評(píng)論0 收藏0
  • 算法導(dǎo)論筆記動(dòng)態(tài)規(guī)劃DP詳解-鋼條切割的分析與實(shí)現(xiàn)

    摘要:假定出售一段長(zhǎng)度為英寸的鋼條的價(jià)格為單位,鋼條長(zhǎng)度均為整英寸。注若長(zhǎng)度為英寸的鋼條的價(jià)格足夠大,最優(yōu)解可能就是完全不需要切割??紤]長(zhǎng)度為的情況,下圖給出了英寸鋼條的所有切割方案。 DP和分治的相似 都是通過(guò)組合子問(wèn)題的解來(lái)求解原問(wèn)題。 DP中的programming指的是一種表格法,而非coding。 DP和分治的不同 分治步驟:(例如歸并排序) 將問(wèn)題劃分為互不相交的子問(wèn)題 ...

    shinezejian 評(píng)論0 收藏0
  • 算法日積月累】0-寫(xiě)在前面的話(huà)

    摘要:現(xiàn)在發(fā)出來(lái)的版本,我重新使用了語(yǔ)言實(shí)現(xiàn)。其實(shí)我之前介紹的老師課程也大量參考和使用算法這本書(shū)上的思路和例題。看這本書(shū)主要是讓我覺(jué)得算法可以以比較輕松的方式入門(mén)。劍指這本書(shū)主要用于準(zhǔn)備算法面試,在網(wǎng)絡(luò)上備受好評(píng)。 我是一個(gè)半路出家的程序員,在我剛開(kāi)始從事編碼工作的頭幾年,我沒(méi)有接觸過(guò)算法和數(shù)據(jù)結(jié)構(gòu),覺(jué)得它們是只會(huì)在我找工作的時(shí)候用得到的知識(shí)。盡管有很多人跟我說(shuō)過(guò)算法和數(shù)據(jù)結(jié)構(gòu)無(wú)比重要,我也...

    flybywind 評(píng)論0 收藏0
  • JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法之美 - 桶排序、計(jì)數(shù)排序、基數(shù)排序

    摘要:之所以把計(jì)數(shù)排序桶排序基數(shù)排序放在一起比較,是因?yàn)樗鼈兊钠骄鶗r(shí)間復(fù)雜度都為。動(dòng)畫(huà)計(jì)數(shù)排序思想找出待排序的數(shù)組中最大和最小的元素。桶排序計(jì)數(shù)排序能派上用場(chǎng)嗎手機(jī)號(hào)碼有位,范圍太大,顯然不適合用這兩種排序算法。 showImg(https://segmentfault.com/img/bVbuF9e?w=900&h=500); 1. 前言 算法為王。 想學(xué)好前端,先練好內(nèi)功,只有內(nèi)功深厚者...

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

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

0條評(píng)論

hankkin

|高級(jí)講師

TA的文章

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