Skip to content

Vidovitsch/common-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Common algorithms

CircleCI

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; });

About

A small module that contains the most common sorting and searching algorithms.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published