Skip to content

YVK49/DSA

Repository files navigation

DSA

Complete DSA documentation

Here's a DSA Weekly Study Plan (8 Weeks) — designed to give you a solid foundation with Python. You’ll learn the most important concepts, implement code, and practice problems every week.

🗓️ 8-Week DSA Study Plan Using Python

Daily Time Commitment: 1–2 hours Ideal Platforms: LeetCode, GeeksforGeeks, NeetCode, Python Tutor, Visualgo

✅ Week 1: Arrays & Strings Concepts:

Arrays, Lists in Python String manipulation Sliding Window, Two pointers Practice:

Reverse array Move zeroes to end Kadane’s algorithm Longest substring without repeating characters Resources: LeetCode Easy Arrays, NeetCode Patterns

✅ Week 2: Hash Tables (Maps, Sets) Concepts:

Hashing basics Frequency counter Hash collisions & sets Practice:

Two Sum Group Anagrams Top K Frequent Elements Valid Anagram Python tools: dict, collections.Counter, set

✅ Week 3: Stacks & Queues Concepts:

LIFO vs FIFO Stack via list/deque Queue via deque Monotonic stack basics Practice:

Valid Parentheses Min Stack Daily Temperatures Next Greater Element Libraries: collections.deque, queue

✅ Week 4: Linked Lists Concepts:

Singly & Doubly Linked Lists Slow & fast pointer Reversal, cycle detection Practice:

Reverse Linked List Detect Cycle Merge Two Sorted Lists Remove Nth Node from End Tip: Implement linked list class manually once

✅ Week 5: Recursion & Binary Search Concepts:

Recursion tree, base & recursive cases Binary Search (standard, left/right bias) Recursion vs Iteration Practice:

Fibonacci (recursive & DP) Search in Rotated Sorted Array Kth element in sorted array Subsets / Power Set Use pythontutor.com to visualize recursion

✅ Week 6: Trees & Binary Search Trees Concepts:

Tree traversals (inorder, preorder, postorder) BST properties Height, depth, LCA Practice:

Invert Binary Tree Max Depth of Tree Validate BST Lowest Common Ancestor Tip: Visualize trees on Visualgo

✅ Week 7: Heaps & Graphs Concepts:

Min/Max Heaps (heapq) Priority Queues Graphs: BFS, DFS, adjacency list Practice:

Kth Largest Element Dijkstra’s Algorithm Clone Graph Number of Islands (DFS + BFS)

✅ Week 8: Dynamic Programming (Intro) Concepts:

Memoization vs Tabulation State definition & transition Subproblems Practice:

Climbing Stairs (DP) House Robber Longest Increasing Subsequence 0/1 Knapsack Focus on small problems — don’t rush to hard DP early on.

🎯 Final Tips Solve at least 3–5 problems per topic (start easy → medium) Read others’ solutions to learn new techniques Maintain a GitHub repo of your DSA solutions (for review + resume) Use spaced repetition for hard concepts

About

Complete DSA documentation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published