0% found this document useful (0 votes)
6 views2 pages

Next 30 Days Plan

The document outlines a 30-day plan focused on various data structures and algorithms, categorized into nine sections: Arrays, Strings, Linked Lists, Stacks and Queues, Trees, Graphs, Dynamic Programming, Searching and Sorting, and Recursion and Backtracking. Each section includes specific problems and tasks to be solved, such as finding the largest element in an array, reversing a string, and implementing graph algorithms. The plan aims to enhance problem-solving skills and understanding of fundamental concepts in computer science.

Uploaded by

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

Next 30 Days Plan

The document outlines a 30-day plan focused on various data structures and algorithms, categorized into nine sections: Arrays, Strings, Linked Lists, Stacks and Queues, Trees, Graphs, Dynamic Programming, Searching and Sorting, and Recursion and Backtracking. Each section includes specific problems and tasks to be solved, such as finding the largest element in an array, reversing a string, and implementing graph algorithms. The plan aims to enhance problem-solving skills and understanding of fundamental concepts in computer science.

Uploaded by

dadhichparth9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

next 30 days plan

1. Arrays
*Find the largest and smallest element in an array.
*Reverse an array.
*Find the kth largest and kth smallest element in an array.
*Sort an array of 0s, 1s, and 2s.
Find the subarray with the maximum sum (Kadane’s Algorithm).
*Merge two sorted arrays without extra space.
*Find duplicates in an array.
Rotate an array by k positions.
Find the maximum product subarray.
Find all pairs with a given sum.
2. Strings
Reverse a string.
Check if a string is a palindrome.
Find the longest substring without repeating characters.
Count and print all permutations of a string.
Find the longest palindromic substring.
Implement string matching algorithms (KMP, Rabin-Karp).
Count the occurrences of a substring in a string.
Find the first non-repeating character.
Group anagrams together.
3. Linked Lists
Reverse a linked list.
Detect and remove a loop in a linked list.
Find the middle element of a linked list.
Merge two sorted linked lists.
Remove duplicates from a sorted linked list.
Add two numbers represented by linked lists.
Rotate a linked list.
Flatten a multilevel linked list.
Clone a linked list with random pointers.
4. Stacks and Queues
Implement a stack using arrays or linked lists.
Implement a queue using stacks.
Find the next greater element.
Evaluate a postfix or prefix expression.
Implement LRU Cache.
Check for balanced parentheses in an expression.
Design a circular queue.
Sort a stack using recursion.
Implement a min stack.
5. Trees
Inorder, Preorder, and Postorder traversal of a binary tree.
Level order traversal of a binary tree.
Find the height of a binary tree.
Check if two binary trees are identical.
Convert a binary tree to a DLL (Doubly Linked List).
Find the lowest common ancestor (LCA) of two nodes.
Check if a binary tree is a BST.
Construct a binary tree from preorder and inorder traversal.
Find the diameter of a binary tree.
Count the number of nodes in a complete binary tree.
6. Graphs
Implement BFS and DFS for a graph.
Detect a cycle in a directed/undirected graph.
Find the shortest path in an unweighted graph (BFS).
Implement Dijkstra’s Algorithm.
Find connected components in a graph.
Implement Kruskal's and Prim’s Algorithms (MST).
Solve the traveling salesman problem (TSP).
Check if a graph is bipartite.
Find all paths between two nodes.
7. Dynamic Programming
Find the nth Fibonacci number.
Longest Common Subsequence (LCS).
Longest Increasing Subsequence (LIS).
0/1 Knapsack problem.
Minimum number of coins for a given sum.
Edit Distance problem.
Maximum sum increasing subsequence.
Subset sum problem.
Partition a set into two subsets with equal sum.
Count the number of ways to climb stairs.
8. Searching and Sorting
Binary Search.
Find the first and last occurrence of an element in a sorted array.
Search in a rotated sorted array.
Implement Merge Sort.
Implement Quick Sort.
Count inversions in an array.
Find the kth smallest/largest element using Quickselect.
Sort an array using heapsort.
Find a pair with a given difference.
Find a peak element in an array.
9. Recursion and Backtracking
Solve the N-Queens problem.
Find all subsets of a set.
Find all permutations of a string or array.
Solve the Sudoku problem.
Rat in a maze problem.
Word Break problem.
Print all paths from the top-left to the bottom-right of a matrix.
Find the kth permutation sequence.

You might also like