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.
- ... in progress
-
- Arrays [theory + code]
- Linked Lists [theory + code]
- Stacks [theory + code]
- Queues [theory + code]
- Hash Tables
- Binary Search Tree [code]
- AVL Tree [code]
- Red-Black Tree [code]
- Heaps [code]
- Priority Queue [code]
- Trie [code]
- Graphs [theory + code]
- Minimum Spanning Tree - MST [theory]
- Disjoint Set Union - DSU
-
- Sorting
- Bubble Sort [code]
- Insertion Sort [code]
- Selection Sort [code]
- Bucket Sort [code]
- Merge Sort [code]
- Quick Sort [code]
- Counting Sort [code]
- Radix Sort [theory + code]
- Topological Sort [theory + code]
- Searching
- Binary Search [code]
- Breadth First Search (BFS) [theory + code]
- Depth First Search (DFS) [theory + code]
- Single Source Shortest Path (SSSP)
- Breadth First Search (BFS) [code]
- Dijkstra [theory + code]
- Bellman-Ford [theory + code]
- All Pairs Shortest Path (APSP)
- Floyd-Warshall [theory + code]
- Minimum Spanning Tree - MST
- Greedy
- Sorting