0% found this document useful (0 votes)
7 views5 pages

scribd

The document outlines a 30-day programming study plan covering topics such as time complexity, data structures, algorithms, and system design. It includes learning objectives, practice problems, and resources for each topic, emphasizing daily commitment and revision. Additionally, it suggests engaging in mock contests and seeking help from online forums for better understanding and preparation.

Uploaded by

devkumardk1974
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
7 views5 pages

scribd

The document outlines a 30-day programming study plan covering topics such as time complexity, data structures, algorithms, and system design. It includes learning objectives, practice problems, and resources for each topic, emphasizing daily commitment and revision. Additionally, it suggests engaging in mock contests and seeking help from online forums for better understanding and preparation.

Uploaded by

devkumardk1974
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 5
Day 1-2: Basics of Programming Learn « Time Complexity and Space Complexity + Big-O Notation Practice + Analyze the time complexity of simple programs. Resources + “Introduction to Algorithms” by Cormen (Chapter 1 on complexity) + Online videos on Big-O Day 3-4: Arrays and Strings Topics + Basics + Sliding window + Two-pointer techniques Problems + Find the maximum sum subarray (Kadane's Algorithm) + Two Sum Problem + Longest Substring Without Repeating Characters Practice Sites + LeetCode + HackerRank + GeeksforGeeks Day 5: Sorting Algorithms Learn + Bubble, Selection, Insertion, Merge, Quick Sort Practice + Implement sorting algorithms and understand time complexity. + Focus on Merge Sort and Quick Sort. Day 6-7: Linked Lists Topics + Singly, Doubly, and Circular Linked Lists Problems + Reverse a Linked List + Detect a Cycle in a Linked List (Floyd's Algorithm) « Merge Two Sorted Linked Lists Focus Explore recursion, stacks, queues, and hashmaps. Day 8-9: Recursion and Backtracking Learn « Basics of recursion, its stack behavior. Problems + Factorial « Fibonacci numbers « Subset Sum Problem « N-Queens Problem Tip Write and dry-run recursive calls Day 10-11: Stacks and Queues Topics + Implement stacks and queues using arrays and linked lists. Problems « Next Greater Element + Valid Parentheses * Implement a Queue using Two Stacks Day 12-13: Hashmaps and Hashing Leam + Use cases, collision handling. Problems + Two Sum (using hashmaps) + Subarray Sum Equals K + Longest Consecutive Sequence Day 14: Practice Problems Solve 5-10 problems covering arrays, strings, and hashmaps. Focus Trees, graphs, and advanced algorithms. Day 15-17: Trees Topics « Binary Trees « Binary Search Trees Problems « Inorder, Preorder, Postorder Traversals « Lowest Common Ancestor (LCA) + Validate a Binary Search Tree Resources Visualize tree problems on whiteboards or use visualization tools Day 18-19: Graphs Topics - BFS - DFS + Adjacency list/matrix representations Problems « Detect a Cycle in a Graph + Shortest Path in an Unweighted Graph (BFS) « Connected Components in a Graph Day 20-21: Greedy Algorithms Leam + Concept and real-world examples Problems « Activity Selection Problem ¢ Minimum Number of Platforms + Huffman Encoding Focus Dynamic Programming (DP) and revision. Day 22-24: Dynamic Programming Topics + Understand memoization and tabulation. Problems « Fibonacci (Top-Down and Bottom-Up). e 0/1 Knapsack Problem. « Longest Increasing Subsequence. Day 25-27: Revision and Mock Contests Revise Revise all major topics and solve problems from past contests. Mock Contests « Attempt 1-2 timed contests on LeetCode or Codeforces. Day 28-29: System Design Basics (Optional) If aiming for top companies, study simple system design concepts. Focus * Scalability and common design patterns. Day 30: Final Revision Revise - Your notes, formulas, and common patterns. Practice Problems that were challenging for you earlier. Tips for Success Daily Commitment: Spend 6-8 hours daily, splitting time between learning and practicing. Track Progress: Maintain a checklist of completed topics and problems. Quality Over Quantity: Focus on understanding problems deeply rather than solving too many superficially. Ask for Help: Join forums like LeetCode Discuss or Reddit to resolve doubts. Mock Interviews: Pair up with a friend or use platforms like Pramp.

You might also like