- Arrays
- Linked List
- Stacks
- Queues
- Trees
- Graphs
- Dynamic Programming
- Greedy Algorithm
- Backtracking
- Bit Manipulation
- Sorting
- Hashing
- Heaps
- Searching
Arrays
- Reverse Array
- Find the maximum element in an array
- Find the minimum element in an array
- Find the first duplicate in an array
- Find the missing number in an array
- Rotate an array by a given number of positions
- Check if an array is sorted or not
- Find the maximum sum of a subarray in an array
- Find the pair of elements in an array that sum up to a given target
- Find the first pair of elements in an array that sum up to a given target
Linked List
- Reverse a linked list
- Detect a cycle in a linked list
- Find the middle element of a linked list
- Find the nth node from the end of a linked list
- Remove duplicates from a sorted linked list
Stacks
- Implement a stack using an array
- Implement a stack using a linked list
- Evaluate the postfix expression using a stack
- Implement a queue using two stacks
Queues
- Implement a queue using an array
- Implement a queue using a linked list
- Implement a circular queue using an array
Trees
- Traverse a binary tree (Inorder, Preorder, Postorder)
- Find the height of a binary tree
- Find the maximum element in a binary tree
- Check if a binary tree is a BST or not
- Find the lowest common ancestor of two nodes in a binary tree
Graphs
- Implement a graph using an adjacency matrix
- Implement a graph using an adjacency list
- Perform a BFS traversal on a graph
- perform a dFS traversal on a graph
Dynamic Programming
- Fibonacci series using dynamic programming
- Longest common subsequence using dynamic programming
Bit Manipulation
- Find the first set bit in a number
- Count the number of set bits in a number
Hashing
- Implement a hash table using chaining
Greedy Algorithms
- Activity selection problem using greedy algorithm
Heaps
- Implement a max heap using an array
Sorting
- Implement bubble sort
- Implement selection sort
- Implement insertion sort
- Implement merge sort
- Implement quick sort
Searching
- Implement linear search
- Implement binary search
- implement DFS
- implement BFS