common-algorithms
v1.0.1
Published
A npm module containing the common searching and sorting algorithms
Downloads
2
Readme
Common algorithms
A small module that contains the most common sorting and searching algorithms.
Installation
npm install --save common-algorithms
Contents
|Algorithms |Type |O (time) |Θ (time) |Ω (time) |O (space) | |:--------------------:|:----:|:--------------------------------:|:--------------------------------:|:--------------------:|:----------------:| |Selection Sort |Sort |n2 |n2 |n2 |1 | |Insertion Sort |Sort |n2 |n2 |n |1 | |Quick Sort |Sort |n2 |n * log2(n) |n * log2(n)|log2(n)| |Merge Sort |Sort |n * log2(n) |n * log2(n) |n * log2(n)|n | |Heap Sort |Sort |n * log2(n) |n * log2(n) |n * log2(n)|1 | |Shell Sort |Sort |n * log2(n)2|n * log2(n)2|n * log2(n)|1 | |Shuffle (Fisher–Yates)|Sort |n |n |n |1 | |Binary Search |Search|log2(n) |log2(n) |1 |1 |
Usage
Using require()
const algorithms = require('common-algorithms')
Using ES6 Import/Export
import * as algorithms from 'common-algorithms'
Exports
The module exports the following object:
{
search: {
binarySearch <Function>,
},
sort: {
heapSort <Function>,
insertionSort <Function>,
mergeSort <Function>,
quickSort <Function>,
selectionSort <Function>,
shellSort <Function>,
shuffle <Function>,
},
}
Custom comparator
A custom comparator can be given as a parameter.
Example 1:
const { quickSort } = require('common-algorithms').sort
const arr = [12, 0, -23, 4, 6, 14, 102, -5];
quickSort(arr, (a, b) => {
if (a < b) return 1;
if (a > b) return -1;
return 0
});
Example 2:
const { quickSort } = require('common-algorithms').sort
function SomeObj(value) {
this.value = value;
}
const arr = [new SomeObj(5), new SomeObj(-5), new SomeObj(-22), new SomeObj(108), new SomeObj(37)];
quickSort(arr, (a, b) => {
if (a.value < b.value) return -1;
if (a.value > b.value) return 1;
return 0;
});