相关疑难解决方法(0)

javascript中快速稳定的排序算法实现

我正在寻找一个大约200-300个对象的数组,对特定的键和给定的顺序(asc/desc)进行排序.结果的顺序必须一致且稳定.

什么是最好的算法,你能提供一个在javascript中实现它的例子吗?

谢谢!

javascript sorting algorithm

97
推荐指数
6
解决办法
5万
查看次数

原生JavaScript排序执行速度比实现的mergesort和quicksort慢

我已经实现了mergesort和quicksort来将它们与原生JavaScript排序进行比较.对于快速排序我尝试使用此算法:在youtube上查看算法.两种算法都使用尽可能少的内存,对于合并排序,为每个递归调用传递辅助数组(以避免开销),对于快速排序,使用起始位置和结束位置的位置.我正在使用各种方法来管理NodeJs应用程序中的大量数据.

下面是mergesort,quicksort和本机JavaScript排序,您可以测试性能

问题是:为什么本机JavaScript执行速度较慢?

就我而言:

Chrome - 合并排序:度量:1997.920ms; 快速排序:措施:1755.740ms; native:measure:4988.105ms
节点:merge sort:measure:2233.413ms; 快速排序:措施:1876.055ms; 原住民:措施:6317.118ms

合并排序

var length = 10000000; //  ten millions;
var arr = [];
for (let i = length; i > 0; i--) {
  // random array
  arr.push(parseInt(Math.random() * 1000000000));
}
var mergeSort = function(array) {
  function merge(arr, aux, lo, mid, hi) {
    for (var k = lo; k <= hi; k++) {
      aux[k] = arr[k];
    }

    var i = lo;
    var j = mid + 1; …
Run Code Online (Sandbox Code Playgroud)

javascript sorting algorithm performance node.js

17
推荐指数
1
解决办法
6127
查看次数

标签 统计

algorithm ×2

javascript ×2

sorting ×2

node.js ×1

performance ×1