💻 Data Structures and Algorithms Repository
Welcome to my curated collection of Data Structures and Algorithms problems and implementations using C++. This repository is designed to help me (and anyone else!) learn, revise, and master key DSA concepts topic by topic.
🧰 Tech Stack & Resources
| Tool / Platform | Icon |
|---|
| C++ |  |
| Visual Studio Code |  |
| GeeksforGeeks |  |
| LeetCode |  |
| GitHub |  |
| Cursor |  |
📂 Folder Structure & Topics
Click on any topic below to view the problems and implementations within:
| Topic | Folder Link | Status | Key Features |
|---|
| 🔁 Sliding Window | 0. SlidingWindow | ✅ Complete | Fixed/Variable window, Two pointers |
| 🔢 Arrays | 1. Array | ✅ Complete | Palindrome, Reverse, Rotate, Search |
| 📦 Vectors | 2. Vector | ✅ Complete | Basics, Merge, Palindrome, Reverse |
| ✂️ Strings | 3. String | ✅ Complete | Operations, Palindrome, Substring |
| 🔢 Matrices | 4. Matrix | ✅ Complete | Matrix operations and manipulations |
| 🔍 Searching | 5. Searching | ✅ Complete | Linear, Binary search algorithms |
| 🧮 Sorting | 6. Sorting | ✅ Complete | Comparison & Non-comparison sorts |
| 🧃 Hashing | 7. Hashing | ✅ Complete | Collision resolution techniques |
| 📦 Containers | 8. Containers | ✅ Complete | STL containers and operations |
| 🔗 Linked List | 9. LinkedList | ✅ Complete | Singly, Doubly, Circular lists |
| 📚 Stack | 10. Stack | ✅ Complete | Array, LL, STL implementations |
| 📥 Queue | 11. Queue | ✅ Complete | Simple, Circular, Priority queues |
| ⏪ Deque | 12. Deque | ✅ Complete |
🚀 Key Features of Implementations
📝 Comprehensive Documentation
- Detailed comments explaining each algorithm step
- Time and Space complexity analysis
- Example outputs and expected results
- Step-by-step demonstrations
🎮 Interactive User Experience
- User input validation and error handling
- Multiple approach comparisons
- Performance timing measurements
- Visual representations where applicable
🧪 Educational Content
- Algorithm explanations and derivations
- Advantages and disadvantages analysis
- Real-world applications
- Optimization techniques
🔧 Code Quality
- Clean, readable C++ code
- Proper error handling
- Input validation
- Modular design with separate functions
📄 Reference Materials
- CPP.md – essential reference links for learning C++ programming language
- ReferenceLinks.md – curated links to helpful articles, videos, and cheat sheets
- STL.cpp – Common STL operations in C++ used across the repo
📈 Progress & Purpose
This repository is built for:
- 📚 Interview prep - Comprehensive coverage of DSA topics
- 💡 Competitive programming - Optimized algorithms and techniques
- 🧪 Concept clarity & practice - Step-by-step explanations
- 👨💻 Academic reference - Clean implementations for learning
🎯 Learning Path
- Basic Data Structures (Arrays, Strings, Vectors)
- Linear Data Structures (Linked Lists, Stacks, Queues)
- Non-Linear Structures (Trees, Graphs, Tries)
- Algorithms (Searching, Sorting, Hashing)
- Advanced Techniques (Recursion, Backtracking, DP, Greedy, Bit Manipulation)
- C++ Language Reference (CPP.md)
🏆 Repository Highlights
- 500+ lines of well-documented C++ code
- 21+ major DSA topics covered
- Multiple implementation approaches per algorithm
- Real-world problem examples
- Performance analysis and optimization tips
🌟 If you find this helpful, feel free to fork, star, or contribute!
🙋♂️ Author
Siddharth (a.k.a 7even)
A final-year IT student passionate about clean code, real-world applications, and tech that makes life smarter.
📬 Contact
Crafted with focus, love, and a hint of recursion... 🌀