The goal of this project deepen my understanding of these fundamental computer science concepts through practical implementation. The project will contain my own implementation of range of data structures from basic to complex, alongside key algorithms, each will be accompanied by detailed comments and analysis of time and space complexities.
- Basic Data Structures: Implementations of arrays, linked lists, stacks, and queues.
- Advanced Data Structures: Trees (Binary, AVL, Red-Black), Graphs, Heaps, and Hash Tables.
- Sorting Algorithms: Bubble, Merge, Quicksort, and more.
- Searching Algorithms: Linear Search, Binary Search.
- Graph Algorithms: Dijkstra's, A*, and others.
- Dynamic Programming and Backtracking Algorithms: Solutions to common problems using these techniques.
- Complexity Analysis: Each implementation comes with an explanation of its time and space complexity.
- Test Cases: Comprehensive test cases to validate the implementations.