Skip to content

This is the repository for my Data Structures And Algorithms Projects in C++ or Any Other Programming Language

Notifications You must be signed in to change notification settings

indiser/DSA-Projects

Repository files navigation

🚀 DSA Project Roadmap: From Foundation to FAANG-Ready 🚀

A curated journey through Data Structures, Algorithms, and System Design, building a portfolio of 24 projects from foundational concepts to interview-ready systems.

Language C++17 Build System CMake Testing with GoogleTest Status In Progress

This repository is my personal implementation of a comprehensive project-based learning roadmap. It's a structured approach to mastering the skills required for top-tier software engineering roles by combining theoretical knowledge with practical, hands-on projects.


Table of Contents


🧭 Guiding Principles

This portfolio is built on a philosophy of structured, incremental learning.

  • Progressive Difficulty: The projects are sequenced to start with fundamental data structures and gradually introduce more complex algorithms and system design concepts, ensuring a strong foundation before tackling advanced topics.
  • Practical Application: Each project is designed to solve a real-world problem, cementing theoretical knowledge by applying it to practical challenges like social network analysis, route planning, and distributed systems.
  • Interview-Focused: The selection of projects and the DSA concepts covered are directly aligned with the skills assessed in technical interviews at FAANG and other top tech companies.

🛠️ Technologies Demonstrated

This repository showcases proficiency in the following technologies:

  • C++ (Modern C++17)
    • Object-Oriented Programming (OOP) principles.
    • Standard Template Library (STL) containers and algorithms.
    • Memory management with RAII and smart pointers.
    • Modern features like structured bindings and lambdas.
  • CMake
    • Creating robust, cross-platform build systems.
    • Managing project targets and dependencies.
    • Automatically fetching and linking third-party libraries like Google Test using FetchContent.
  • Google Test
    • Writing and running unit tests to ensure code correctness and maintainability.
    • Using test fixtures to create a clean testing environment for each case.

🗺️ The Project Roadmap

The full roadmap consists of 24 projects divided into five phases.

Phase 1: Foundation Building (Months 1-2)

This phase focuses on programming fundamentals and basic linear data structures.

# Project Core DSA Concepts Status
1 Number Guessing Game Linear search, basic sorting 🟢 Completed (View Project)
2 Simple Calculator with History Stack operations, arithmetic algorithms 🟢 Completed (View Project)
3 To-Do List Application CRUD operations, list manipulation 🟢 Completed (View Project)
4 Student Grade Management Bubble sort, selection sort, linear search 🟢 Completed (View Project)
5 Library Management System Hash functions, collision handling 🟢 Completed (View Project)
6 Binary Search Tree BST operations, DFS traversals 🟢 Completed (View Project)
Phase 2: Intermediate Skills (Months 2-4)

This phase moves on to core algorithms like advanced sorting and graph traversals.

# Project Core DSA Concepts Status
7 Sorting Algorithm Visualizer Merge sort, quick sort, heap sort 🟢 Completed (View Project)
8 Maze Solver BFS, DFS, pathfinding 🟢 Completed (View Project)
9 Spell Checker with Trie Trie construction, string matching 🟢 Completed (View Project)
10 File Compression (Huffman Coding) Priority queues, Huffman algorithm 🟢 Completed (View Project)
Phase 3: Advanced Intermediate (Months 4-6)

This phase tackles complex graph algorithms and dynamic programming patterns.

# Project Core DSA Concepts Status
11 Social Network Recommender Adjacency lists, BFS/DFS, shortest paths 🟢 Completed (View Project)
12 Travel Route Planner Dijkstra's algorithm, A* search 🟢 Completed (View Project)
13 Stock Price Analysis Sliding window, DP patterns, heaps 🟢 In Completed (View Project)
14 Text Analysis Tool (LCS) Longest Common Subsequence, Edit Distance 🟡 In Progress
Phase 4: FAANG Interview Preparation (Months 6-9)

This phase focuses on system design fundamentals and large-scale projects.

# Project Core DSA Concepts Status
15 Distributed Cache (Mini-Redis) LRU/LFU cache, consistent hashing ⚫ Not Started
16 Real-Time Chat Application Priority queues, graph algorithms ⚫ Not Started
17 Search Engine & Web Crawler Inverted index, PageRank algorithm ⚫ Not Started
18 Version Control (Mini-Git) Merkle trees, graph traversal, diff algorithms ⚫ Not Started
19 Machine Learning Framework Matrix operations, gradient descent, decision trees ⚫ Not Started
20 Database Engine B+ trees, query algorithms, transaction management ⚫ Not Started
Phase 5: FAANG Interview Mastery (Months 9-12)

This final phase involves building specialized, domain-specific systems.

# Project Core DSA Concepts Status
21 Blockchain Implementation Hash chains, consensus algorithms ⚫ Not Started
22 Recommendation Engine Collaborative filtering, ML algorithms ⚫ Not Started
23 E-commerce Order Processing Distributed systems, inventory algorithms ⚫ Not Started
24 Ride-Sharing Service Geospatial & matching algorithms ⚫ Not Started

🎯 Competency Goals

This portfolio is a practical exercise to achieve the following competencies.

  • ⏳ Foundation: Implement basic data structures from scratch (Arrays, Linked Lists, Stacks, Queues) and master time/space complexity analysis.
  • 🎯 Intermediate: Achieve proficiency in core sorting/searching algorithms, trees, graphs, and hash tables. Can clearly explain algorithmic trade-offs.
  • 📈 Advanced: Master advanced topics like graph algorithms (e.g., Dijkstra's) and Dynamic Programming. Can design basic system architectures.
  • 🏆 Expert: Develop a strong understanding of system design principles, concurrent data structures, and build a portfolio of 20+ projects.

About

This is the repository for my Data Structures And Algorithms Projects in C++ or Any Other Programming Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published