This repository serves as a comprehensive learning resource for data structures and algorithms. It contains implementations in multiple programming languages, along with solutions to various coding problems from platforms like LeetCode, CodeWars, and Codeforces.
-
Binary Tree & BST (
/BinaryTree)- Binary Search Tree implementation
- Tree traversal algorithms
- FreeCodeCamp exercises
-
Linked List (
/linkedList)- Basic linked list operations
- Class-based implementation
- FreeCodeCamp challenges
-
Backtracking (
/Backtracking)- Implementation of backtracking algorithms
- Problem-solving using backtracking
-
Dijkstra's Algorithm (
/Dijkstra)- Implementation in TypeScript and Python
- Graph traversal and shortest path finding
-
Dynamic Programming (
/Dynamic Programming)- Memoization techniques
- Tabulation approaches
- Problem-solving strategies
-
Recursion (
/Recursion)- Basic recursion examples
- Tail recursion optimization
- String manipulation using recursion
-
Sorting Algorithms (
/Sort)- Bubble Sort
- Merge Sort
- Quick Sort
- Selection Sort
-
Two Pointers Technique (
/TwoPointers)- Implementation of two-pointer algorithms
- Problem-solving using the technique
The /ProblemSolving directory contains solutions to various coding challenges from:
- LeetCode
- CodeWars
- Codeforces
Organized by programming language:
- Java
- JavaScript/TypeScript
- Python
- SQL (
/SQL)- SQL learning resources
- Problem-solving with SQL queries
The implementations are available in multiple languages:
-
JavaScript/TypeScript
- Modern ES6+ features
- Type-safe implementations in TypeScript
- Jest for testing
-
Java
- Object-oriented implementations
- Standard Java collections
-
Python
- Pythonic implementations
- Clean and readable code
This repository serves multiple purposes:
- Personal learning and practice
- Reference for common DS&A patterns
- Preparation for technical interviews
- Understanding algorithmic complexity and optimization
Each topic directory typically contains:
- Implementation files
- Example usage
- Problem-specific solutions
- Documentation (where applicable)
- Clone the repository
- Navigate to specific topic directories
- Run the code examples using the appropriate runtime:
- Node.js for JavaScript/TypeScript
- JDK for Java
- Python interpreter for Python files
This is an active learning repository that's continuously updated with:
- New implementations
- Additional problem solutions
- Improved documentation
- More coding challenges
Feel free to explore and learn from the implementations!