Learn DSA | Beginner Level to Advanced Level
- Counting Inversions
- Dutch Flag Algorithm
- Left Rotation
- Max Subarray Sum
- Shift Negatives
- Boyer–Moore Voting Algorithm
- Reverse Array
- Sorted-Rotated Search Array
- Fractional Knapsack
- Quick Selection
- Remove Duplicates
- Leaders In The Array
- Elements appear thrice In The Array
- Maximum Difference
- Occurrence of one in sorted array
- Segregate 0s and 1s
- Search insert position
- Matrix Multiplication
- Smallest Sum Possible
- Smallest Possible Sum
- Index of Smallest element of Array
- Move Zeros to End of The Array
- Kadane's Algorithm
- All unique triplet that sum up to given value
- Merge two sorted array without using extraspace
- All unique triplet that sum up to given value
- Next permutation
- Maximum Minimum Average of numbers
- Sparse Matrix
- Balanced Parenthesis
- Find special index
- Longest Common Subsequence
- Longest Common Substring
- 0/1-knapsack
- Matrix chain Multiplication
- Edit Distance
- Fibonacci
- Rod Cutting
- Bellman Ford Algorithm
- kruskal Algorithm
- Breadth First Search
- Topological sort
- Dfs traversal with stack
- Dfs traversal with recursion
- Connected Components
- Dijkstra's Algorithm
- Cycle Detection
- Prim's Algorithm
- Floyd Warshall
- Detecting Cycle in Directed graph using three colors
- All possible insertions
- Singly linked lists
- doubley linked lists
- Circular linked lists
- Removing Elements of given value
- Reversing a linked lists
- Merging two sorted linked lists
- Reorder List
- Detecting cycle in a singly linked list
- Find Merge Point of two singly linked list
- Segregate Even Odd Nodes of linked list
- Remove Duplicate in Sorted linked list
- Reverse the linked list using stack
- Linear Search
- Jump Search
- Binary Search
- Finding squareroot using Binary search
- KMP String Searching
- Ternary Search
- Interpolation Search
- Exponential Search
- Linear search in 2D array
- Balancing Parenthesis
- Reversing Stack
- Stack using Array
- Infix to postfix expression conversion
- Stock Span Problem using Stacks
- Prefix to Postfix expression conversion
- Redundant Parenthesis
- Bubble Sort
- Insertion Sort
- Quicksort
- Selection Sort
- 3 way Quick Sort
- Bucket Sort
- Comb Sort
- Counting Sort
- heap Sort
- Radix Sort
- Shell Sort
- Binary Insertion Sort
- Merge Sort
- Wave Sort
- Cycle Sort
- Rabin-Karp pattern search algo
- All subsequence of a string (Recursion)
- String reversal
- String tokanisation
- Anagram check
- Remove occurrences from string
- Delete alternate characters in a string
- Print first letter of every word
- Display longest name in a string array
- Boyer Moore pattern search
- Longest common prefix
- First unique character in the string
- Sliding Window to match target string
- Reverse String Wordwise
- Creating Binary Tree
- Counting and finding sum of all the nodes in BST
- Level Order Traversal
- Depth first Traversal
- Binary Search Tree
- In order morris traversal
- In order Predecessor and Successor
- Avl Tree
- Min Heap
- Finding the height of a given tree
- Finding the elements of a tree visible from top view
- Binary Tree Implementation
- Iterative Segment Tree
- Print all nodes at level k
- Sum of right leaves
- Trie for searching
- Trie for insert search and prefix_search
- Trie for delete
- Find Words Matching Pattern Dictionary
- Kaprekar Number
- Prime Number
- Prime Sieve
- Fibonacci Series
- Binomial Coefficient
- Armstrong Number
- Palindrome
- Reverse digit of a number
- Missing number
- Factorial of a number
- Prime-number
- Totient-function
- Even number of digits
- Power of two
- Small numbers
- Segmented Sieve
- Binary Power
- Tower of Hanoi
- Factorial
- Permutation
- GCD/HCF of two numbers
- Sum of all elements of an array
- Decimal number to Binary conversion
- Sum of digits of a decimal integer
- Binary search using recursion
- First uppercase letter in a string
- Reverse a string using recursion
- Find string length using recursion
- Sum of n natural numbers
- Minimum and maximum element in array
- Prime Check
- Array sorted or not
- Product of two numbers
- Product of digits in a number
- Linear search using recursion
- Reverse a number using recursion