Files
amILearningEnough/docs/roadmap/dsa/dsa.md
2024-12-21 01:23:20 +05:30

4.3 KiB

Table of Content

  1. Language-Agnostic DSA Roadmap
  2. Language-Agnostic DSA Resources

Language-Agnostic DSA Roadmap

Learning Path Visualization

Detailed Breakdown

Foundation (2-3 weeks)

  • Time & Space Complexity
  • Big O Notation
  • Memory concepts
  • Basic programming constructs
  • Problem-solving methodology

Core Concepts (8-10 weeks)

  1. Basic Data Structures

    • Arrays
    • Linked Lists
    • Stacks
    • Queues
    • Hash Tables
    • Basic Trees
  2. Basic Algorithms

    • Searching
    • Sorting
    • Recursion
    • Two Pointers
    • Sliding Window

Advanced Topics (10-12 weeks)

  1. Advanced Data Structures

    • Advanced Trees
    • Graphs
    • Heaps
    • Tries
    • Segment Trees
    • Bloom Filters
  2. Advanced Algorithms

    • Dynamic Programming
    • Greedy Algorithms
    • Backtracking
    • Graph Algorithms
    • String Algorithms

Mastery (Ongoing)

  1. Problem Solving Patterns

    • Pattern recognition
    • Optimization techniques
    • System design basics
    • Interview preparation
  2. Specialized Topics

    • Computational Geometry
    • Network Flow
    • Advanced String Algorithms
    • Parallel Algorithms

Language-Agnostic DSA Resources

Online Courses

  1. Algorithms Part I - Princeton

    • Fundamental algorithms
    • Theoretical foundation
    • Programming assignments
  2. Algorithm Specialization - Stanford

    • Comprehensive coverage
    • Advanced topics
    • Real-world applications

Books

  1. "Introduction to Algorithms" (CLRS)

    • Comprehensive coverage
    • Theoretical foundation
    • Problem sets
  2. "Algorithm Design Manual" by Skiena

    • Practical approach
    • Real-world examples
    • Problem-solving strategies
  3. "Grokking Algorithms" by Bhargava

    • Visual explanations
    • Simple examples
    • Beginner-friendly

Online Platforms

  1. LeetCode

    • Structured problems
    • Company-specific lists
    • Discussion forums
  2. AlgoExpert

    • Curated problems
    • Video explanations
    • Interview preparation
  3. InterviewBit

    • Programming interview focus
    • Company-wise problems
    • Mock interviews

Websites

  1. Visualgo

    • Algorithm visualization
    • Interactive learning
    • Step-by-step execution
  2. USACO Guide

    • Competitive programming
    • Comprehensive tutorials
    • Practice problems

YouTube Channels

  1. Back To Back SWE

    • Detailed explanations
    • Visual presentations
    • Interview preparation
  2. Abdul Bari

    • Algorithm explanations
    • Mathematical approach
    • Theoretical foundation

Practice Platforms

  1. AtCoder

    • Regular contests
    • Various difficulty levels
    • Active community
  2. SPOJ

    • Classical problems
    • Judge system
    • Multiple languages

GitHub Resources

  1. Coding Interview University

    • Complete study plan
    • Resource compilation
    • Interview preparation
  2. JavaScript Algorithms

    • DSA implementations
    • Explanations
    • Examples