Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
D

data-structures-algorithms

> 编程语言
Open source

Data structures and algorithms are fundamental concepts in computer science and programming.Data structures are ways of organizing and storing data, and algorit

790 stars0 likes0 views
WebsiteGitHub

About

Data structures and algorithms are fundamental concepts in computer science and programming.Data structures are ways of organizing and storing data, and algorit

Six-Month DSA Study Plan

Overview

This structured six-month plan gradually introduces core DSA concepts and patterns, with 8-10 carefully selected practice questions each week. By the end of this plan, you’ll have covered foundational topics and advanced concepts needed for top-tier technical interviews.


Special Resources

  1. 20 Patterns to Crack MAANG
  2. 14 Tricks to Identify Patterns

Month 1: Arrays and Strings

Week 1: Arrays Basics & Simple Patterns

  • Topics: Two-pointer, Sliding Window, HashMap basics
  • Patterns: Prefix Sum, Running Sum
  • Practice:
    1. [Easy] Two Sum
    2. [Easy] Contains Duplicate
    3. [Easy] Maximum Subarray (Kadane’s Algorithm)
    4. [Medium] Best Time to Buy and Sell Stock
    5. [Medium] Product of Array Except Self
    6. [Medium] Subarray Sum Equals K
    7. [Medium] Longest Subarray with Sum K
    8. [Medium] Minimum Size Subarray Sum

Week 2: Advanced Array Manipulations

  • Topics: Sorting, Interval Overlap, Cyclic Sort
  • Patterns: Sorting + Two-pointer, Merge Intervals
  • Practice:
    1. [Easy] Sort Colors (Dutch National Flag Problem)
    2. [Medium] Merge Intervals
    3. [Medium] Set Matrix Zeroes
    4. [Medium] Next Permutation
    5. [Medium] Rotate Image
    6. [Medium] Find the Duplicate Number
    7. [Medium] Kth Largest Element in an Array
    8. [Medium] First Missing Positive

Week 3: Strings - Basics and Manipulations

  • Topics: HashMaps for Strings, Substrings
  • Patterns: Sliding Window, Hashing
  • Practice:
    1. [Easy] Longest Common Prefix
    2. [Easy] Valid Anagram
    3. [Medium] Longest Substring Without Repeating Characters
    4. [Medium] Minimum Window Substring
    5. [Medium] Find All Anagrams in a String
    6. [Medium] Group Anagrams
    7. [Medium] Longest Palindromic Substring
    8. [Medium] Decode Ways

Week 4: Advanced String Manipulations

  • Topics: Substrings and Subsequence
  • Patterns: Two-pointer, Dynamic Programming (DP) for Strings
  • Practice:
    1. [Easy] Implement strStr()
    2. [Medium] Longest Common Subsequence
    3. [Medium] Edit Distance
    4. [Medium] Palindromic Substrings
    5. [Medium] Partition Labels
    6. [Hard] Minimum Window Substring
    7. [Hard] Substring with Concatenation of All Words
    8. [Hard] Wildcard Matching

Month 2: Linked Lists and Binary Trees

Week 1: Linked Lists Basics

  • Topics: Singly and Doubly Linked Lists, Basic Operations
  • Patterns: Two-pointer, Fast & Slow Pointers
  • Practice:
    1. [Easy] Reverse Linked List
    2. [Easy] Middle of the Linked List
    3. [Medium] Linked List Cycle
    4. [Medium] Intersection of Two Linked Lists
    5. [Medium] Add Two Numbers
    6. [Medium] Remove N-th Node from End
    7. [Medium] Flatten a Multilevel Doubly Linked List
    8. [Hard] Merge K Sorted Lists

Week 2: Advanced Linked Lists

  • Topics: Complex List Manipulations, Reversal in Groups
  • Patterns: Fast & Slow Pointers, Recursive Linked List
  • Practice:
    1. [Medium] Reverse Nodes in k-Group
    2. [Medium] Rotate List
    3. [Medium] Copy List with Random Pointer
    4. [Medium] Partition List
    5. [Medium] LRU Cache
    6. [Hard] LRU Cache
    7. [Hard] Reverse Nodes in k-Group
    8. [Hard] Insert into a Cyclic Sorted List

Week 3: Binary Trees Basics

  • Topics: Binary Tree Traversals (Inorder, Preorder, Postorder)
  • Patterns: DFS and BFS Traversals
  • Practice:
    1. [Easy] Binary Tree Inorder Traversal
    2. [Easy] Binary Tree Preorder Traversal
    3. [Easy] Binary Tree Postorder Traversal
    4. [Medium] Binary Tree Level Order Traversal
    5. [Medium] Binary Tree Zigzag Level Order Traversal
    6. [Medium] Binary Tree Right Side View
    7. [Medium] Binary Tree Left Side View
    8. [Medium] Binary Tree Maximum Path Sum

Week 4: Advanced Trees

  • Topics: Tree Properties, Recursive & Iterative Solutions
  • Patterns: Depth-First Search, Breadth-First Search
  • Practice:
    1. [Easy] Symmetric Tree
    2. [Medium] Lowest Common Ancestor of a Binary Tree
    3. [Medium] Binary Tree Level Order Traversal II
    4. [Medium] Serialize and Deserialize Binary Tree
    5. [Medium] Populating Next Right Pointers in Each Node
    6. [Hard] Recover Binary Search Tree
    7. [Hard] Flatten Binary Tree to Linked List
    8. [Hard] Binary Tree Cameras

Month 3: Graphs and Recursion

Week 1: Graphs Basics

  • Topics: Graph Representations, BFS, DFS
  • Patterns: Breadth-First Search, Depth-First Search
  • Practice:
    1. [Easy] Flood Fill
    2. [Medium] Number of Islands
    3. [Medium] Surrounded Regions
    4. [Medium] Rotting Oranges
    5. [Medium] Word Ladder
    6. [Medium] Clone Graph
    7. [Medium] Course Schedule
    8. [Medium] Detect Cycle in Undirected Graph
    9. [Hard] Minimum Number of Swaps for Sorting

Week 2: Advanced Graph Algorithms

  • Topics: Topological Sort, Connected Components
  • Patterns: Topological Sort, Union-Find
  • Practice:
    1. [Medium] Alien Dictionary
    2. [Medium] Course Schedule II
    3. [Medium] Reconstruct Itinerary
    4. [Medium] Connected Components in Graph
    5. [Medium] Accounts Merge
    6. [Hard] Find Critical and Pseudo-Critical Edges
    7. [Hard] Redundant Connection
    8. [Hard] Graph Valid Tree

Week 3: Recursion and Backtracking

  • Topics: Basics of Recursion, Permutations, Combinations
  • Patterns: Backtracking, DFS
  • Practice:
    1. [Easy] Subsets
    2. [Medium] Combination Sum
    3. [Medium] Permutations
    4. [Medium] Palindrome Partitioning
    5. [Hard] N-Queens
    6. [Hard] Sudoku Solver
    7. [Hard] Word Search II
    8. [Hard] K-th Permutation Sequence

Week 4: Advanced Backtracking Problems

  • Topics: Constraint Satisfaction, Optimizations
  • Patterns: Recursion + Memoization
  • Practice:
    1. [Medium] Generate Parentheses
    2. [Medium] Letter Combinations of a Phone Number
    3. [Medium] Partition to K Equal Sum Subsets
    4. [Hard] [Restore IP Addresses](https://leetcode.com/problems

Issues· 2 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言