Skip to content

Jooraz/js-drop-merge-sort

Repository files navigation

js-drop-merge-sort

Build Status Coverage Status NPM version npm license

This is a javascript implementation of drop-merge sort algorithm, originally seen on: https://github.com/emilk/drop-merge-sort

Installation

npm install drop-merge-sort

Usage

Example

var dmsort = require('drop-merge-sort');

var compareFunction = function(elem1, elem2) {
    return elem1 - elem2;// asc sort
};

var array = [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];

array = dmsort(array, compareFunction);//desc sort

console.log(array);

API

dmsort(array, [compareFunction])

  • array: object like array
  • compareFunction(elem1, elem2): function for comparing two elem of iterable
    • Optional, if not given, will use : elem1 - elem2

Quicksort and Mergesort used in here are taken from https://github.com/mgechev/javascript-algorithms

Go there for details on the algorithm itself.

Benchmarks

Benchmarks were performed on i7-6700k CPU Benchmark of sorting 1M integers Speedup over fastest competitor for 1M integers Benchmark of sorting 100k 100-byte strings Speedup over fastest competitor for 100k 100-byte strings