Data Structures and Algorithms in Javascript

Introduction

I want to get really good at Data Structures and Algorithms and Javascript is my preferred scripting languages so I decided to create this Github repo as a way to hold myself accountable and as a future reference guide. This repo will contain the space/time complexities, and explanations of the best time to use each of the following algorithms:

  • Problem Solving Patterns

    • Frequency Counter
    • Multiple Pointers
    • Sliding Window
    • Divide and Conquer
  • Searching

    • Linear Search
    • Binary Search
    • Naive String Search
    • Depth First Search
      • Pre Order
      • Post Order
      • In Order
    • Breadth First Search
  • Sorting

    • Bubble Sort
    • Selection Sort
    • Insertion Sort
    • Merge Sort
    • Quick Sort
    • Radix Sort

and the implementation of the following data structures:

  • Singly Linked Lists
  • Doubly Linked Lists
  • Stacks
  • Queues
  • Binary Search Trees
  • Binary Heaps
  • Hash Tables
  • Graphs && Graph Traversal
    • Adjacency List
  • Djikstra's Algorithm

Enjoy!