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!