Skip to content

duereg/js-algorithms

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build Status Dependencies devDependencies NPM version

JS-Algorithms

In case you want to prepare yourself for a job interview, or just need access to common data structures.

I've documented the process of creating this code here.

Problems

Algorithm Solution
Binary Heap code
Binary Search Tree code
Depth First Search code
Fisher–Yates shuffle code
Max Heap code
Mergesort algorithm code
Min Heap code
Queue code
Quicksort algorithm code
Stack code
Tower of Hanoi code
Trie code
Suffix Tree code
Basic string compression counting repeated characters code
Are two strings permutations of each other code
Is a linked list a palindrome code
Smallest Enclosing Circle code

Description

Classic data structures and algorithms (with tests!) written in JavaScript

  • Singly Linked List
  • Min/Max Binary Heap
  • Trie (With Pre-Order Traversal Sorting)
  • Suffix Tree
  • Stack (push, pop, peek, and isEmpty)
  • Queue (add, remove, peek, isEmpty)
  • Binary Search Tree
  • Hash Table

As well as the following algorithms:

  • Breadth First Search
  • Depth First Search
  • Binary Search
  • Merge Sort
  • Quick Sort
  • Shuffle (Fisher–Yates)
  • Smallest Enclosing Circle

Usage

If you want access to these data structures in your project, include this package.

> const algorithms: = require('js-algorithms')
> algorithms
{
  dataStructures: {
    binaryHeap: [Function],
    binarySearchTree: [Function: bst],
    linkedList: [Function],
    maxHeap: [Function],
    minHeap: [Function],
    queue: [Function],
    stack: [Function],
    stackQueue: [Function],
    trie: [Function],
    suffixTree: [Function] },
  algorithms: {
    sorting: {
      quickSort: [Function]
      mergeSort: [Function]
    },
    shuffle: [Function],
    enclosingCircle: [Function]
  }}

About

Javascript versions of classic software development algorithms

Resources

Stars

Watchers

Forks

Packages

No packages published