All Projects → felipernb → Algorithms.js

felipernb / Algorithms.js

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

Programming Languages

javascript
184084 projects - #8 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to Algorithms.js

C Sharp Algorithms
📚 📈 Plug-and-play class-library project of standard Data Structures and Algorithms in C#
Stars: ✭ 4,684 (+41%)
Mutual labels:  algorithms, graph, data-structures, sorting-algorithms, binary-trees
Algodeck
An Open-Source Collection of 200+ Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview 💯
Stars: ✭ 4,441 (+33.68%)
Mutual labels:  algorithms, graph, data-structures, sorting-algorithms
Dsa.js Data Structures Algorithms Javascript
🥞Data Structures and Algorithms explained and implemented in JavaScript + eBook
Stars: ✭ 6,251 (+88.17%)
Mutual labels:  algorithms, graph, data-structures
Advanced Algorithms
100+ algorithms & data structures generically implemented in C#.
Stars: ✭ 752 (-77.36%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Learn some algorithm and data structure
从零开始回顾一下最简单最基础的算法与数据结构
Stars: ✭ 38 (-98.86%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Interview
Data Structures and Algorithms in Java (useful in interview process)
Stars: ✭ 396 (-88.08%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Ruby
All algorithms implemented in Ruby
Stars: ✭ 454 (-86.33%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Javascript Datastructures Algorithms
📚 collection of JavaScript and TypeScript data structures and algorithms for education purposes. Source code bundle of JavaScript algorithms and data structures book
Stars: ✭ 3,221 (-3.04%)
Mutual labels:  graph, data-structures, sorting-algorithms
Geeksforgeeks Dsa 2
This repository contains all the assignments and practice questions solved during the Data Structures and Algorithms course in C++ taught by the Geeks For Geeks team.
Stars: ✭ 53 (-98.4%)
Mutual labels:  graph, data-structures, sorting-algorithms
Data structure and algorithms library
A collection of classical algorithms and data-structures implementation in C++ for coding interview and competitive programming
Stars: ✭ 133 (-96%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Java
All Algorithms implemented in Java
Stars: ✭ 42,893 (+1191.18%)
Mutual labels:  algorithms, sorting-algorithms, data-structures
Dsa Geeksclasses
DSA-Self Paced With Doubt Assistance Course Solutions in Python (Python 3)
Stars: ✭ 137 (-95.88%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Competitive coding
This repository contains some useful codes, techniques, algorithms and problem solutions helpful in Competitive Coding.
Stars: ✭ 393 (-88.17%)
Mutual labels:  algorithms, graph, data-structures
Interview Questions
List of all the Interview questions practiced from online resources and books
Stars: ✭ 187 (-94.37%)
Mutual labels:  graph, data-structures, sorting-algorithms
Algorithms
A collection of common algorithms and data structures implemented in java, c++, and python.
Stars: ✭ 142 (-95.73%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
The Uplift Project Dsa
Stars: ✭ 20 (-99.4%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Code With Love
Open source programming algorithms
Stars: ✭ 107 (-96.78%)
Mutual labels:  algorithms, data-structures, sorting-algorithms
Data Structures
Common data structures and algorithms implemented in JavaScript
Stars: ✭ 139 (-95.82%)
Mutual labels:  algorithms, graph, data-structures
Pretty Algorithms
🌊 Pretty, common and useful algorithms with modern JS and beautiful tests
Stars: ✭ 2,163 (-34.89%)
Mutual labels:  algorithms, sorting-algorithms, binary-trees
Algods
Implementation of Algorithms and Data Structures, Problems and Solutions
Stars: ✭ 3,295 (-0.81%)
Mutual labels:  algorithms, sorting-algorithms

algorithms.js

Build Status Coverage Status Dependency Status devDependency Status Inline docs npm

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_structures');
// or
require('algorithms').DataStructures;
  • AVLTree
  • BST
  • DisjointSetForest
  • FenwickTree
  • Graph
  • HashTable
  • Heap
    • MaxHeap
    • MinHeap
  • LinkedList
  • PriorityQueue
  • Queue
  • Set (HashSet)
  • Stack
  • Treap

Geometry algorithms

require('algorithms/geometry');
// or
require('algorithms').Geometry;
  • BezierCurve

Graph algorithms

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

Math algorithms

require('algorithms/math');
// or
require('algorithms').Math;
  • collatzConjecture
  • extendedEuclidean
  • fastPower
  • fibonacci
  • findDivisors
  • fisherYates
  • gcd (Greatest common divisor)
  • greatestDifference
  • lcm (Least common multiple)
  • newtonSqrt
  • nextPermutation
  • powerSet
  • reservoirSampling
  • 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)
  • postOrder
  • preOrder

Sorting algorithms

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

String algorithms

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

Contributing

This project uses Google JavaScript Style Guide which can be a bit strict, but is really helpful in order to have more readable and less error-prone code

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].