cristoferdomingues / algorithms.js

Atwood's Law applied to CS101 - Classic algorithms and data structures implemented in JavaScript

Home Page:http://algorithmsjs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

algorithms.js

Build Status Coverage Status

Atwood's Law applied to CS101.

Classic algorithms and data structures implemented in JavaScript, you know... FOR SCIENCE.

Installing

npm install --save algorithms

Contents

Data Structures

require('algorithms/data_structure');
// or
require('algorithms').DataStructure;
  • BST
  • Graph
  • HashTable
  • Heap
  • MinHeap
  • MaxHeap
  • LinkedList
  • PriorityQueue
  • Queue
  • Stack
  • Set (HashSet)
  • DisjointSetForest

Graph algorithms

require('algorithms/graph');
// or
require('algorithms').Graph;
  • topologicalSort
  • eulerPath
  • depthFirstSearch
  • breadthFirstSearch
Shortest path
  • bfsShortestPath
  • dijkstra
  • SPFA (Shortest Path Faster Algorithm)
  • bellmanFord
  • floydWarshall
Minimum spanning tree
  • prim
  • kruskal

Math algorithms

require('algorithms/math');
// or
require('algorithms').Math;
  • fibonacci
  • fisherYates
  • gcd (Greatest common divisor)
  • extendedEuclidean
  • newtonSqrt
  • reservoirSampling
  • fastPower
  • nextPermutation
  • powerSet
  • shannonEntropy

Search algorithms

require('algorithms/search');
// or
require('algorithms').Search;
  • bfs (breadth-first search for binary trees)
  • binarySearch
  • dfs (depth-first search for binary trees)
  • inOrder (default)
  • preOrder
  • postOrder

Sorting algorithms

require('algorithms/sorting');
// or
require('algorithms').Sorting;
  • bubbleSort
  • countingSort
  • heapSort
  • quicksort
  • selectionSort
  • radixSort
  • insertionSort
  • shellSort

String algorithms

require('algorithms/string');
// or
require('algorithms').String;
  • levenshtein
  • rabinKarp
  • knuthMorrisPratt
  • huffman
  • encode
  • decode
  • hamming
  • longestCommonSubsequence
  • longestCommonSubstring

About

Atwood's Law applied to CS101 - Classic algorithms and data structures implemented in JavaScript

http://algorithmsjs.org

License:MIT License


Languages

Language:JavaScript 99.5%Language:Makefile 0.5%