Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
8 views

100_DataStructures_Algorithms_Projects

Uploaded by

hafsanavera1
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

100_DataStructures_Algorithms_Projects

Uploaded by

hafsanavera1
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

# Generating the text file with the 100 Data Structures & Algorithms Project Ideas

100 Data Structures & Algorithms Project Ideas

1-20: Basic Data Structures


1. Array Rotation: Implement an algorithm to rotate an array of integers by 'k'
positions.
2. Array Sorting: Implement sorting algorithms (QuickSort, MergeSort, BubbleSort,
InsertionSort, SelectionSort).
3. Palindrome Check: Implement a program to check if a string is a palindrome using
a stack.
4. Array Sum Pairs: Find pairs in an array whose sum equals a given number.
5. Find Missing Number: Given an array of n-1 integers from 1 to n, find the
missing number.
6. Remove Duplicates: Write a function to remove duplicates from a sorted or
unsorted array.
7. Find Union and Intersection: Find the union and intersection of two arrays.
8. Find Maximum Subarray Sum: Implement Kadane's Algorithm to find the maximum sum
subarray.
9. Matrix Multiplication: Multiply two matrices using nested loops.
10. Matrix Transpose: Write a function to transpose a matrix (swap rows with
columns).
11. Find Leaders in an Array: Find all the leaders in an array.
12. Spiral Matrix Traversal: Traverse a matrix in a spiral order.
13. Reverse Array: Reverse an array of integers.
14. 2D Array Search: Search for a given element in a 2D array.
15. Find the Peak Element: Find a peak element in an array (an element greater than
its neighbors).
16. Merge Two Sorted Arrays: Merge two sorted arrays into one sorted array.
17. Rotate Matrix by 90 Degrees: Rotate a matrix by 90 degrees in-place.
18. Partition Array into Two Parts: Partition an array into two subsets with equal
sum.
19. Find the Majority Element: Find the element that appears more than n/2 times in
an array.
20. Find the First Non-repeating Character: Given a string, find the first non-
repeating character.

21-40: Linked Lists


21. Reverse a Linked List: Reverse a singly linked list.
22. Detect Cycle in Linked List: Use Floyd’s Tortoise and Hare algorithm to detect
a cycle.
23. Merge Two Sorted Linked Lists: Merge two sorted linked lists into one sorted
list.
24. Find Middle of a Linked List: Implement a function to find the middle node of a
linked list.
25. Remove N-th Node from End: Remove the N-th node from the end of a linked list.
26. Check Palindrome Linked List: Check if a linked list is a palindrome.
27. Add Two Numbers: Add two numbers represented by linked lists.
28. Intersection of Two Linked Lists: Find the intersection node of two linked
lists.
29. Flatten a Linked List: Flatten a linked list where each node contains a child
linked list.
30. Detect Loop in Linked List: Find if a given linked list contains a loop.
31. Reverse K-group in Linked List: Reverse every k nodes in a linked list.
32. Linked List to Stack: Implement a stack using a linked list.
33. Linked List to Queue: Implement a queue using a linked list.
34. Swap Nodes in Pairs: Swap every two adjacent nodes in a linked list.
35. Remove Duplicates from Sorted Linked List: Remove duplicates from a sorted
linked list.
36. Rotate Linked List: Rotate a linked list by k positions.
37. Flatten a Multilevel Doubly Linked List: Flatten a multilevel doubly linked
list.
38. Palindrome Linked List (Optimized): Use two-pointer technique to check
palindrome.
39. Clone a Linked List with Random Pointers: Implement cloning of a linked list
with random pointers.
40. Reverse Doubly Linked List: Reverse a doubly linked list.

41-60: Stacks and Queues


41. Stack Implementation: Implement a basic stack with push and pop operations.
42. Queue Implementation: Implement a basic queue with enqueue and dequeue
operations.
43. Evaluate Postfix Expression: Write a program to evaluate a postfix expression.
44. Evaluate Infix Expression: Write a program to evaluate an infix expression
using a stack.
45. Implement Stack Using Queue: Implement a stack using two queues.
46. Implement Queue Using Stack: Implement a queue using two stacks.
47. Balanced Parentheses: Check if a string containing parentheses is balanced.
48. Next Greater Element: Find the next greater element for each element in the
array.
49. Largest Rectangle in Histogram: Calculate the largest rectangle that can be
formed in a histogram.
50. Sliding Window Maximum: Find the maximum value in a sliding window of size k.
51. Daily Temperature: Given a list of temperatures, return the number of days
until a warmer temperature.
52. Largest Parenthesis Substring: Find the largest valid parentheses substring.
53. Valid Parentheses String: Check if a string of parentheses is valid.
54. Min Stack: Design a stack that supports push, pop, top, and retrieving the
minimum element.
55. Palindrome Check Using Stack: Check if a string is a palindrome using a stack.
56. Reversing Stack: Reverse the elements of a stack using recursion.
57. Queue with Two Stacks: Implement a queue with two stacks using only enqueue and
dequeue operations.
58. Postfix to Infix Conversion: Convert a postfix expression to infix expression.
59. Infix to Postfix Conversion: Convert an infix expression to postfix expression.
60. Sum of Elements Between Parentheses: Calculate the sum of numbers between
parentheses in an expression.

61-80: Trees
61. Binary Tree Traversals: Implement pre-order, in-order, and post-order tree
traversals.
62. Height of a Binary Tree: Find the height of a binary tree.
63. Check Balanced Binary Tree: Determine if a binary tree is balanced.
64. Level Order Traversal: Perform level order traversal of a binary tree.
65. Binary Search Tree (BST): Implement a BST with insert, delete, and search
operations.
66. Lowest Common Ancestor in BST: Find the lowest common ancestor of two nodes in
a BST.
67. Binary Tree Maximum Path Sum: Find the maximum path sum in a binary tree.
68. Flatten Binary Tree to Linked List: Convert a binary tree into a flattened
linked list.
69. Diameter of Binary Tree: Find the diameter (longest path between any two nodes)
of a binary tree.
70. Validate Binary Search Tree: Check if a given tree is a valid BST.
71. Construct Binary Tree from Preorder and Inorder Traversal: Reconstruct a binary
tree from preorder and inorder traversals.
72. Symmetric Binary Tree: Check if a binary tree is symmetric around its center.
73. Merge Two Binary Trees: Merge two binary trees into a single binary tree.
74. Binary Tree Zigzag Level Order Traversal: Perform zigzag level order traversal
of a binary tree.
75. Vertical Order Traversal of Binary Tree: Perform vertical order traversal of a
binary tree.
76. Convert Sorted Array to Binary Search Tree: Convert a sorted array to a height-
balanced BST.
77. Path Sum: Find if there is a path in a binary tree that sums to a given value.
78. Kth Smallest Element in a BST: Find the kth smallest element in a binary search
tree.
79. Serialize and Deserialize Binary Tree: Implement serialization and
deserialization of a binary tree.
80. Binary Search Tree Iterator: Implement an iterator to traverse a BST in-order.

81-100: Graphs and Advanced Algorithms


81. Breadth-First Search (BFS): Implement BFS to traverse a graph.
82. Depth-First Search (DFS): Implement DFS to traverse a graph.
83. Dijkstra’s Algorithm: Find the shortest path in a weighted graph using
Dijkstra’s algorithm.
84. Bellman-Ford Algorithm: Find the shortest path in a graph with negative weights
using Bellman-Ford.
85. Floyd-Warshall Algorithm: Find the shortest paths between all pairs of nodes in
a graph.
86. Topological Sort: Implement topological sort for a Directed Acyclic Graph
(DAG).
87. Kruskal’s Algorithm: Implement Kruskal’s algorithm to find the minimum spanning
tree.
88. Prim’s Algorithm: Implement Prim’s algorithm to find the minimum spanning tree.
89. Detect Cycle in Directed Graph: Detect a cycle in a directed graph using DFS.
90. Find Strongly Connected Components: Find strongly connected components in a
directed graph using Tarjan’s algorithm.
91. Graph Representation (Adjacency List/Matrix): Represent a graph using adjacency
list or matrix.
92. Graph Coloring Problem: Solve the graph coloring problem using backtracking.
93. Island Counting: Count the number of connected components (islands) in a 2D
grid.
94. Word Ladder Problem: Transform one word into another by changing one letter at
a time using BFS.
95. Traveling Salesman Problem: Solve the traveling salesman problem using dynamic
programming.
96. Knight’s Shortest Path Problem: Solve the shortest path problem for a knight on
a chessboard.
97. Minimum Spanning Tree (Prim or Kruskal): Implement the algorithm to find the
minimum spanning tree.
98. Longest Path in a Directed Acyclic Graph: Find the longest path in a directed
acyclic graph (DAG).
99. Maximum Flow Problem: Solve the maximum flow problem using Ford-Fulkerson
algorithm.
100. Eulerian Path/Circuit: Determine if a graph contains an Eulerian path or
circuit.

"""

# Saving the content to a text file

You might also like