Skip to content

I'll be sharing my progress for the 30 Days of DSA Revision Challenge on this repository.

License

Notifications You must be signed in to change notification settings

snehkr/30Days-of-DSA

Repository files navigation

30Days-of-DSA

forks forks forks


📅 TRACK DAYS: 20 of 30

✅ COMPLETED ❌ NOT COMPLETED 🟠 IN-PROGRESS


Contents

  • Data Structures and Algorithms
    • Introduction to Data Structures and Algorithms
      • Importance and Applications
      • Basic Definitions
      • Efficiency Analysis (Time and Space Complexity)
    • Fundamentals of Programming
      • Variables and Data Types
      • Control Structures (if, else, switch)
      • Loops (for, while, do-while)
    • Array and Strings
      • Arrays
      • Strings
      • Operations and Manipulations
    • Linked Lists
      • Singly Linked Lists
      • Doubly Linked Lists
      • Circular Linked Lists
      • Operations and Implementations
    • Stacks and Queues
      • Stack Operations
      • Queue Operations
      • Applications
    • Trees
      • Binary Trees
      • Binary Search Trees
      • AVL Trees
      • Heaps
      • Tree Traversals (In-order, Pre-order, Post-order)
    • Graphs
      • Graph Representation (Adjacency Matrix, Adjacency List)
      • Depth-First Search (DFS)
      • Breadth-First Search (BFS)
      • Shortest Path Algorithms (Dijkstra's, Bellman-Ford)
      • Minimum Spanning Tree (Prim's, Kruskal's)
    • Hashing
      • Hash Functions
      • Hash Tables
      • Collision Resolution
    • Sorting and Searching
      • Sorting Algorithms (Bubble, Selection, Insertion, Merge, Quick, Heap)
      • Searching Algorithms (Linear Search, Binary Search)
    • Dynamic Programming
      • Concept and Applications
      • Memoization and Tabulation
    • Divide and Conquer
      • Concept and Applications
      • Merge Sort, Quick Sort
    • Greedy Algorithms
      • Concept and Applications
      • Huffman Coding
    • Advanced Topics
      • Trie
      • Segment Tree
      • Disjoint Set (Union-Find)
    • Algorithmic Paradigms
      • Backtracking
      • Bit Manipulation
    • Complexity Classes
      • P, NP, NP-Complete
    • Case Studies and Real-world Applications
      • Application of DSA in Software Development
    • Interview Preparation
      • Commonly Asked DSA Questions
      • Problem-solving Strategies
    • Best Practices and Coding Standards
      • Code Optimization
      • Readable and Maintainable Code

📅 Days 1-5: Introduction to Data Structures

✅ Day 1: Introduction

  • Importance and Applications
  • Basic Definitions
  • Time and Space Complexity

✅ Day 2-3: Stacks and Queues

  • Learn about basic data structures: arrays, stacks, and queues.
  • Implement and practice using stacks and queues.
  • Solve problems involving these data structures.

✅ Day 4-5: Linked Lists

  • Singly and doubly linked lists.
  • Operations on linked lists.

📅 Days 6-12: Sorting and Searching Algorithms

✅ Day 6-9: Sorting Algorithms

  • Bubble sort, selection sort, insertion sort.
  • Quick sort, merge sort & Heap sort.

✅ Day 10-12: Searching Algorithms

  • Linear search and binary search.
  • Practice implementing and applying searching algorithms.

📅 Days 13-20: Trees and Graphs

✅ Day 13-15: Trees

  • Binary trees, binary search trees (BST), AVL Tree, Heap.
  • Tree traversal algorithms (in-order, pre-order, post-order).

✅ Day 16-17: Graphs

  • Basics of graphs: representation and traversal.
  • Depth-First Search (DFS) and Breadth-First Search (BFS).

✅ Day 18-19: Advanced Tree and Graph Concepts

  • AVL trees, Red-Black trees.
  • Advanced graph algorithms (Dijkstra's, Bellman-Ford, etc.).

📅 Days 20-25: Dynamic Programming

✅ Day 20: Introduction to Dynamic Programming (DP)

  • Understanding the concept of overlapping sub-problems and optimal substructure.

❌ Day 21-25: Solve DP Problems

  • Start with basic DP problems.
  • Progress to more complex problems as you become comfortable.

📅 Days 26-30: Advanced Topics and Review

❌ Day 26-28: Advanced Data Structures

  • Hashing, heaps, tries.
  • Applications and use cases.

❌ Day 29: Advanced Algorithms

  • Advanced sorting algorithms (e.g., heap sort).
  • String matching algorithms.

❌ Day 30: Review and Reinforcement

  • Go back to challenging problems and concepts.
  • Mock interviews and real-world problem-solving.



© 30 DAYS OF DSA [ 2024-25 ]
ALL RIGHTS RESERVED

HAPPY LEARNING !!
DEVELOPED WITH ❤️ BY SNEH KR

About

I'll be sharing my progress for the 30 Days of DSA Revision Challenge on this repository.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages