十大經典排序演算法系列 六 計數排序 js版

2021-09-01 20:58:38 字數 606 閱讀 8742

整數排序 0-99 最好的演算法

1 把排序元素的值 當 tmparr陣列的索引, 計數出現次數,

2 遍歷 tmparr, 按照 value 值的個數, unshift|push  tmparr 索引值 到 newarr 完成排序

'use strict'

var arr = [0, 0, 1, 2, 3, 4, 5, 10, 12, 22, 123, 333, 333, 444, 555, 666, 777, 888, 999, 1000];

console.log(arr.length)

function countionsort(arr) else

count += 1;

});// 按照出現的次數, 把索引值 當做新陣列的 value, unshift|push 正序|反序

var newarr = ;

countarr.foreach(function (value, index)

}});

console.log(count);

return newarr;

}console.log(countionsort(arr));

十大經典排序演算法系列 二 插入排序

原理 1 元素依次比較大小,按條件交換位置 2 交換過位置的元素,往回與之前的元素比較大小,找到插入的位置,直到不符合交換位置的條件.跳出迴圈 3 繼續外層迴圈 var arr 0,0,1,2,3,4,5,6,12,22,123,333,333,444,555,666,777,888,999 fun...

十大經典排序演算法

載自 排序演算法是 資料結構與演算法 中最基本的演算法之一。排序演算法可以分為內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序 快速排...

十大經典排序演算法

不穩定排序種類為4種 快速排序 核心思想是partition操作 二分法分而治之 平均時間複雜度nlogn 希爾排序 高階版的插入排序,先把間隔較遠的子串行排序,最後間隔為1時,等同於插入排序 插入排序在序列有序時,時間複雜度常數級,所以先讓子串行總體有序,能有效降低時間複雜度 平均時間複雜度n 1...