My personal learning journey for Data Structures and Algorithms with implementations and LeetCode problem solutions, updated occasionally as I continue learning and practicing.
- My personal learning path and notes for DSA concepts
- My implementations of key data structures and algorithms (implemented in Java and C++)
- My approach to solving LeetCode problems (might contain several approaches)
- A documentation of my progress and understanding of computer science fundamentals
- DynamicArray: Another implementation of a resizable array with core functionality
- ArrayList: A custom implementation of a dynamic array (similar to Java's ArrayList), with Iterator support
- BinarySearchTree: A generic binary search tree implementation with various operations including insertion, deletion, traversal, and utility methods
Additional data structures will be added over time, including:
- LinkedList
- Stack
- Queue
- Heap
- Hash Table
- Graph
Common algorithm implementations will be added for:
- Sorting (Merge sort, Quick sort, etc.)
- Searching (Binary search, Depth-First Search, Breadth-First Search)
- Dynamic Programming
- Greedy Algorithms
- Backtracking
Random Leetcode questions that I find interesting solving
- Add comprehensive test cases for all implementations
- Include time and space complexity analysis for all solutions
- Create topic-wise guides for approaching different types of problems
- Add visualization tools for data structures and algorithms