This repository will act as a way for me to understand basic and complex computer science concepts through implementation of these different concepts.
I have realized that I lack the ability to apply some of the CS concepts that I have learned in CS 1 and 2. So this repository is here to help me practice implementing different CS concepts and which I am hoping will eventually lead me to a point where when I see a problem while working on a project I can easily recognize how that could be solved with the use/modification of some basic CS algorithms/data structures/etc.
- Bubble Sort
- Insertion Sort
- Selection Sort
- Merge Sort
- Quick Sort
- In-Place Quick Sort
- Bucket/Radix Sort
- Heap Sort
- Counting Sort
- Linear Search
- Binary Search
- Breadth-First Iterative Search
- Depth-First Search - Preorder (Recursive)
- Depth-First Search - Inorder (Recursive)
- Depth-First Search - Postorder (Recursive)
- Dijkstra’s Algorithm
- Floyd-Warshall
- Traveling Salesman
- A*
- Bloom Filter
- K-Way Merge
- Simple Node
- Linked Lists
- Stack
- Queue
- Hash Table
- Map
- Binary Search Tree
- Heap
- Trie
- Circular Queue
- Vector
- Priority Queue
- Circular Buffer
List will continue to grow constantly