This repository is a work in progress containing JavaScript/C++ code for some of the most used data structures and algorithms as I learn and code them. Also, it contains solutions for some common interview problems from programming challenges platforms like Hackerrank, Leetcode and Codewars that I will be solving along the way.
Please, keep in mind that, as I am also a student, the code may not (probably not) be the most efficient and readable, so if you have suggestions of improvements or corrections please feel free to reach out and contribute.
-
- Arrays ✅
- Linked Lists ✅
- Stacks ✅
- Queues ✅
- Hash Tables [only code]
- Binary Search Tree [only code]
- AVL Tree [only code]
- Red-Black Tree [only code]
- Heaps [only code]
- Priority Queue [only code]
- Trie [only code]
- Graphs
- Disjoint Set Union - DSU ✅
-
- Sorting
- Bubble Sort [only code]
- Insertion Sort [only code]
- Selection Sort [only code]
- Bucket Sort [only code]
- Merge Sort [only code]
- Quick Sort [only code]
- Counting Sort [only code]
- Radix Sort ✅
- Topological Sort ✅
- Searching
- Binary Search [only code]
- Breadth First Search (BFS) ✅
- Depth First Search (DFS) ✅
- Single Source Shortest Path (SSSP)
- Breadth First Search (BFS) [only code]
- Dijkstra ✅
- Bellman-Ford [theory + code]
- All Pairs Shortest Path (APSP)
- Minimum Spanning Tree - MST ✅
- Greedy
- Sorting