Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vedbhanushali/supreme_dsa
github repository of DSA challenges
https://github.com/vedbhanushali/supreme_dsa
algorithms competitive-programming cpp dsa dsa-algorithm dsa-practice frontendmasters github github-codespaces learn open-source replit stl-algorithms stl-containers
Last synced: 3 months ago
JSON representation
github repository of DSA challenges
- Host: GitHub
- URL: https://github.com/vedbhanushali/supreme_dsa
- Owner: Vedbhanushali
- License: mit
- Created: 2023-07-19T05:49:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-25T08:17:59.000Z (6 months ago)
- Last Synced: 2024-07-25T09:45:50.817Z (6 months ago)
- Topics: algorithms, competitive-programming, cpp, dsa, dsa-algorithm, dsa-practice, frontendmasters, github, github-codespaces, learn, open-source, replit, stl-algorithms, stl-containers
- Language: C++
- Homepage:
- Size: 25.5 MB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SUPREME_DSA
github repository of DSA challanges
## 1. Basics of programming
[difference of endl and \n](./2_basic_of_programmin_II/README.md#difference-of-endl-and-n)
[C datatypes](./2_basic_of_programmin_II/README.md#c-basic-datatypes)
[ascii table](./2_basic_of_programmin_II/README.md#asci-table-imp)
[negative number storeing](./2_basic_of_programmin_II/README.md#how-negative-numbers-are-stored-in-memory)
[Switch](./2_basic_of_programmin_II/README.md#switch)
[Miscellaneous](./2_basic_of_programmin_II/README.md#miscellaneous)
[Time comlexity precedence](./2_basic_of_programmin_II/README.md#time-complexity--space)## 2. Arrays
[Sort zero's & one's (Dutch national flag problem)](/3_Array/README.md#sort-zeros--ones-dutch-national-flag-problem)
[Pascal Triangle](/3_Array/README.md#pascal-triangle)
[CODE SNIPPETS (swapping,reverse array)](/3_Array/README.md#code-snippets)
[Vector merge two vectors in new vector](/3_Array/README.md#merge-two-vectors)### Array Practice Questions
[sort colors](/3_Array/Assignment.md#sort-colors)
[move all -ve no the left side of array](/3_Array/Assignment.md#move-all--ve-no-the-left-side-of-array)
[find duplicate Number](/3_Array/Assignment.md#find-duplicate-number)
[missing elements from an array with duplicate](/3_Array/Assignment.md#missing-elements-from-an-array-with-duplicate)
[Find first occurence](/3_Array/Assignment.md#find-first-occurence)
[Common element in 3 sorted array](/3_Array/Assignment.md#common-element-in-3-sorted-array)
[Wave print a matrix](/3_Array/Assignment.md#wave-print-a-matrix)
[Spiral print a matrix](/3_Array/Assignment.md#spiral-print-a-matrix)
[add two number of array](/3_Array/Assignment.md#add-two-number-of-array)
[find factorial of number](/3_Array/Assignment.md#find-factorial-of-number)## 3. Binary Search
[binary search](/4_searching_and_sorting/binary_search.md#binary-search)
[find first occurrence](/4_searching_and_sorting/binary_search.md#find-first-occurrence)
[find last occurrence](/4_searching_and_sorting/binary_search.md#find-first-occurrence)
[total number of occurrences](/4_searching_and_sorting/binary_search.md#total-number-of-occurrences)
[find peak element in mountain array](/4_searching_and_sorting/binary_search.md#find-peak-element-in-a-mountain-array)
[find pivot element in array](/4_searching_and_sorting/binary_search.md#find-pivot)
[search in sorted rotated array](/4_searching_and_sorting/binary_search.md#search-in-rotated-sorted-array-application-of-finding-pivot-element)
[find square root](/4_searching_and_sorting/binary_search.md#find-square-root)
[search in nearly sorted array](/4_searching_and_sorting/binary_search.md#binary-search-in-nearly-sorted-array)
[Divide two numbers using binary search](/4_searching_and_sorting/binary_search.md#divide-two-numbers-using-binary-search)
[Binary search in 2D matrix](/4_searching_and_sorting/binary_search.md#binary-search-on-2d-matrix)### index based binary search
[find missing elements (index based binary search)](/4_searching_and_sorting/binary_search.md#find-missing-element)
[find odd occuring element in an array](/4_searching_and_sorting/binary_search.md#find-odd-occuring-element-in-array)## 3. Sorting
[Selection sort](/4_searching_and_sorting/sorting.md#selection-sort)
[Bubble sort](/4_searching_and_sorting/sorting.md#bubble-sort)
[Insertion sort](/4_searching_and_sorting/sorting.md#insertion-sort)
[STL sort](/4_searching_and_sorting/sorting.md#sort-using-stl-sort)
[custom sort](/4_searching_and_sorting/sorting.md#custom-comparator)### Practice Questions of searching and sorting
[K-Diff Pairs In An Array](/4_searching_and_sorting/Assignment.md#k-diff-pairs-in-an-array)
[Find K-Closest Element](/4_searching_and_sorting/Assignment.md#find-k-closest-element)
[Exponential Search & Unbounded](/4_searching_and_sorting/Assignment.md#exponential-search--unbounded)
[Binary Search in infinite array](/4_searching_and_sorting/Assignment.md#binary-searching-in-infinite-array)
[Book Allocation Problem](/4_searching_and_sorting/Assignment.md#book-allocation-problem)
[Painters Partition Problem](/4_searching_and_sorting/Assignment.md#painters-partition-problem)
[Aggresive Cows](/4_searching_and_sorting/Assignment.md#aggresive-cows)
[EKO SPOJ](/4_searching_and_sorting/Assignment.md#eko-spoj)
[PRATA](/4_searching_and_sorting/Assignment.md#prata)
[Median or row wise sorted matrix](/4_searching_and_sorting/Assignment.md#Median-of-row-wise-sorted-matrix)## 4. Char arrays and string
[input string methods](./5_char_array_string/README.md)
[check palindrome](./5_char_array_string/README.md#check-palindrome)
[remove duplicates](./5_char_array_string/README.md#remove-duplicates)
[remove all occurrences of part from main string](./5_char_array_string/README.md#remove-all-occurrences-of-part-from-main-string)
[valid palindrome 2](./5_char_array_string/README.md#valid-palindrome-2)
[minimum time difference](./5_char_array_string/README.md#minimum-time-difference)
[palindromic substring](./5_char_array_string/README.md#palindromic-substring)### Practice Questions of strings
[valid anagram](./5_char_array_string/Assignment.md#valid-anagram)
[reverse only letters](./5_char_array_string/Assignment.md#reverse-only-letters)
[longest common prefix](./5_char_array_string/Assignment.md#longest-common-prefix)
[reverse vowels of as string](./5_char_array_string/Assignment.md#reverse-vowels-of-a-string)
[isomorphic string](./5_char_array_string/Assignment.md#isomorphic-string)
[reorganize string](./5_char_array_string/Assignment.md#reorganize-string)
[group anagram](./5_char_array_string/Assignment.md#group-anagram)
[longest palindromix substring](./5_char_array_string/Assignment.md#longest-palindromic-substring)
[find the index of first occurence in a string](./5_char_array_string/Assignment.md#find-the-index-of-first-occurence-in-a-string)
[string to integer (stoi)](./5_char_array_string/Assignment.md#string-to-integer-stoi)
[string compression](./5_char_array_string/Assignment.md#string-compression)
[Integers to Roman](./5_char_array_string/Assignment.md#integers-to-roman)
[Zigzag conversion](./5_char_array_string/Assignment.md#zigzag-conversion)
[Largest number](./5_char_array_string/Assignment.md#largest-number)
[Palindrome Partitioning](/5_char_array_string/Assignment.md#palindrome-partitioning)## Pointers and Mathematics algorithms
[Seive of Erathosthenes - prime number](/6_pointers_maths/README.md#seive-of-erathosthenes---count-prime)
[GCD euclid algorithm](/6_pointers_maths/README.md#gcd-euclid-algorithm)
[Modulus properties](/6_pointers_maths/README.md#modulus-properties)
[Fast exponential pow(a,b)](/6_pointers_maths/README.md#fast-exponential)
[Find modulus of negative number](/6_pointers_maths/README.md#find-modulus-of-negative-number)
[Pigeon hole](/6_pointers_maths/README.md#pigeon-hole)
[catalan number bst](/6_pointers_maths/README.md)
[inclusion exclusion principle](/6_pointers_maths/README.md)
[chinese reminder theorem](/6_pointers_maths/README.md)
[lucas's theorem](/6_pointers_maths/README.md)
[fermat's theorem](/6_pointers_maths/README.md)
[probability concepts](/6_pointers_maths/README.md)## Recursion
[print 1 to n](/7_Recurssion/README.md#print-1-to-n)
[factorial](/7_Recurssion/README.md#factorial)
[fibonaci](/7_Recurssion/README.md#fibonaci)
[climbing stairs](/7_Recurssion/README.md#climbing-stairs)
[array print all element using recursion](/7_Recurssion/README.md#array-print-all-element-using-recursion)
[find max in array using recursion](/7_Recurssion/README.md#find-max-in-array-using-recursion)
[finding value in array using array](/7_Recurssion/README.md#finding-value-in-array-using-recursion)
[print all digits of number using recursion](/7_Recurssion/README.md#print-all-digits-of-number-using-recursion)
[finding is array sorted](/7_Recurssion/README.md#finding-is-array-is-sorted)
[Binary search using recursion](/7_Recurssion/README.md#binary-search-using-recursion)
[Subsequence of string](/7_Recurssion/README.md#subsequence-of-string)
[Coin exchange](/7_Recurssion/README.md#coin-exchange)
[Cut into segement](/7_Recurssion/README.md#cut-into-segments)
[Maximum sum of adjacent elements](/7_Recurssion/README.md#maximum-sum-of-adjacent-elements)### Practice Questions of recursion
[Last occurrence of a char](/7_Recurssion/Assignment.md#last-occurrence-of-a-char)
[Reverse a string RE](/7_Recurssion/Assignment.md#reverse-a-string-re)
[Add string RE](/7_Recurssion/Assignment.md#add-string-re)
[palindrome check RE](/7_Recurssion/Assignment.md#palindrome-check-re)
[Remove all occurrence of substring](/7_Recurssion/Assignment.md#remove-all-occurrence-of-substring)
[print all subarrays using RE](/7_Recurssion/Assignment.md#print-all-subarrays-using-re)
[Buy and sell stocks](/7_Recurssion/Assignment.md#buy-and-sell-stocks)
[House Robber](/7_Recurssion/Assignment.md#house-robber---todo-optimization)
[Integer to English words](/7_Recurssion/Assignment.md#integer-to-english-words)
[Wild card Matching](/7_Recurssion/Assignment.md#wild-card-matching---todo-optimization)
[Perfect squares](/7_Recurssion/Assignment.md#perfect-squares)
[Minimum cost for tickets](/7_Recurssion/Assignment.md#minimum-cost-for-tickets)
[Number of dice roll with target sum](/7_Recurssion/Assignment.md#number-of-dice-roll-with-target-sum)## Divide and Conquer
[merge sort](/8_Divide_and_conquor/README.md#merge-sort)
[In place Merge sort](/8_Divide_and_conquor/README.md#inplace-merge-sort)
[quick sort](/8_Divide_and_conquor/README.md#quicksort)## Backtracking
[permutation of string](/9_backtracking/README.md#permutation-of-string)
[house robber problem](/9_backtracking/README.md#house-robber-problem)
[rate in maze](/9_backtracking/README.md#rate-in-maze)
[sudoko solver](/9_backtracking/README.md#sudoko-solver)
[N Queen](/9_backtracking/README.md#n-queen)
[generate paranthesis](/9_backtracking/README.md)
[phonekeypad problem](/9_backtracking/README.md#phone-keypad-problem)### Practice Questions of Backtracking
[count inversion](/9_backtracking/Assignment.md#count-inversion)
[inplace mergesort](/8_Divide_and_conquor/README.md#inplace-merge-sort)
[max sub array sum](/9_backtracking/Assignment.md#max-sub-array-sum)
[quicksort end element as pivot best way short](/8_Divide_and_conquor/README.md#quicksort)
[combination sum](/9_backtracking/Assignment.md#combination-sum)
[combination sum II](/9_backtracking/Assignment.md#combination-sum-ii)
[permutation II](/9_backtracking/Assignment.md#permutation-ii)
[Beautiful arrangment](/9_backtracking/Assignment.md#beautiful-arrangment)
[Distribute Repeating Integers](/9_backtracking/Assignment.md#distribution-repeating-integers)## OOPS
[Static memory allocation](/10_OPPS/README.md#static-memory-allocation)
[Dynamic memory allocation](/10_OPPS/README.md#dynamic-memory-allocation)
[1D array and 2D array heap memory](/10_OPPS/README.md#1d-memory-allocation)
[Constructor](/10_OPPS/README.md#constructor)
[Destructor](/10_OPPS/README.md#destructor)
[Encapsulation](/10_OPPS/README.md#encapsulation)
[Inheritance](/10_OPPS/README.md#inheritance)
[Types of inheritance](/10_OPPS/README.md#types-of-inheritance)
[Polymorphism](/10_OPPS/README.md#polymorphism)
[Abstraction](/10_OPPS/README.md#abstraction)
[const keyword](/10_OPPS/README.md#const-keyword)
[mutable keyword](/10_OPPS/README.md#mutable-used-for-debugging-purpose-only---production-code-not-good-practise)
[Initialization list](/10_OPPS/README.md#initialization-list)
[Macros](/10_OPPS/README.md#macros)
[Shallow copy vs deep copy](/10_OPPS/README.md#shallow-copy-vs-deep-copy)
[local and global variables](/10_OPPS/README.md#local-and-global-variables)
[Static keyword in class](/10_OPPS/README.md#static-keyword-in-class)
[Abstraction deep](/10_OPPS/README.md#abstraction)
[Inline function](/10_OPPS/README.md#inline-function)
[friend keyword](/10_OPPS/README.md#friend-keyword)
[private constructor](/10_OPPS/README.md#private-constructor)
[Virtual constructor vs virtual destructor](/10_OPPS/README.md#virtual-constructor-vs-virtual-destructor)## LinkedList
[Single LinkedList structure](/11_LinkedList/LINKEDLIST.md#single-linked-list)
[find length of linkedlist](/11_LinkedList/LINKEDLIST.md#find-length-of-linkedlist)
[Insert at head](/11_LinkedList/LINKEDLIST.md#insert-at-head)
[Insert at tail](/11_LinkedList/LINKEDLIST.md#insert-at-tail)
[Insert at position](/11_LinkedList/LINKEDLIST.md#insert-at-position)
[Delete node at postion](/11_LinkedList/LINKEDLIST.md#delete-node-at-postion)
[Reverse Linked list using loops](/11_LinkedList/LINKEDLIST.md#reverse-linked-list-using-loops)
[Reverse linked list using recursion](/11_LinkedList/LINKEDLIST.md#reverse-linked-list-using-recursion)
[find middle of Linked list](/11_LinkedList/LINKEDLIST.md#find-length-of-linkedlist)
[K group reverse Linked list](/11_LinkedList/LINKEDLIST.md#k-groups-reverse-linked-list)
[LL circular detection and deleting loop](/11_LinkedList/LINKEDLIST.md#is-ll-circular--detect-and-delete-loop)
[LL is palindrome of not](/11_LinkedList/LINKEDLIST.md#linked-list-is-palindrome-or-not)
[Remove duplicates from sorted LL](/11_LinkedList/LINKEDLIST.md#remove-duplicates-from-a-sorted-ll)
[Remove duplicates from unsorted LL](/11_LinkedList/LINKEDLIST.md#remove-duplicates-from-unsorted-ll)
[Sort 0's 1's and 2's in LL](/11_LinkedList/LINKEDLIST.md#sort-0s-1s-and-2s-in-ll)
[Add two numbers represented by LL](/11_LinkedList/LINKEDLIST.md#two)## Doubly LinkedList
[Doubly linked list structure](/11_LinkedList/DOUBLY_LINKEDLIST.md#doubly-linked-list)
[print doubly linked list](/11_LinkedList/DOUBLY_LINKEDLIST.md#print-doubly-linked-list)
[length of doubly linked list](/11_LinkedList/DOUBLY_LINKEDLIST.md#length-of-doubly-linked-list)
[Insert at head](/11_LinkedList/DOUBLY_LINKEDLIST.md#insert-at-head)
[Insert at tail](/11_LinkedList/DOUBLY_LINKEDLIST.md#insert-at-tail)
[Insert at position](/11_LinkedList/DOUBLY_LINKEDLIST.md#insert-at-position)
[Delete node from position](/11_LinkedList/DOUBLY_LINKEDLIST.md#delete-node-from-position)### Practice Questions of LL
[Merge 2 Sorted Linked List](/11_LinkedList/Assignment.md#merge-2-sorted-linked-list)
[Clone a Linked List with Random Pointer](/11_LinkedList/Assignment.md#clone-a-linked-list-with-random-pointer)
[Merge Sort in Linked list](/11_LinkedList/Assignment.md#merge-sort-in-linked-list)
[Flatten a Linked List](/11_LinkedList/Assignment.md#flatten-a-linked-list)
[Print kth node from end of Linked List](/11_LinkedList/Assignment.md#print-kth-node-from-end-of-linked-list)
[Intersection point of 2 Linked list](/11_LinkedList/Assignment.md#intersection-point-of-2-linked-list)
[Rotate List (Leetcode)](/11_LinkedList/Assignment.md#rotate-list-leetcode)
[Delete n nodes after m nodes (Leetcode)](/11_LinkedList/Assignment.md#delete-n-nodes-after-m-nodes-leetcode)
[Find min/max number between critical points (Leetcode)](/11_LinkedList/Assignment.md#find-minmax-number-between-critical-points-leetcode)
[Merge Node in between zeroes (Leetcode)](/11_LinkedList/Assignment.md#merge-node-in-between-zeroes-leetcode)## Stack
[Stack operations](/12_Stack/README.md#stack)
[Custom stack implementation (without using STL)](/12_Stack/README.md#custom-stack-implementation-not-using-stl-stack-library)
[Create 2 stack in one array](/12_Stack/README.md#create-2-stack-in-1-array)
[reverse string using stack](/12_Stack/README.md#reverse-string-using-stack)
[find middle element in stack](/12_Stack/README.md#find-middle-element-in-stack)
[Insert at bottom of stack](/12_Stack/README.md#insert-at-bottom-of-stack-insert-top-of-stack-element-to-bottom)
[reverse a stack using only one stack](/12_Stack/README.md#reverse-a-stack-using-only-one-stack)
[Valid parenthesis](/12_Stack/README.md#valid-parenthesis)
[Sort a stack](/12_Stack/README.md#sort-a-stack)
[Remove redundant brackets](/12_Stack/README.md#remove-redundant-brackets)
[Min stack (stack containg the minimum element in it)](/12_Stack/README.md#min-stack)
[longest valid parantheses](/12_Stack/README.md#longest-valid-paratheses)
[Next smaller element](/12_Stack/README.md#next-smaller-element)
[Prev Smaller element](/12_Stack/README.md#prev-smaller-element)
[Largest rectangular area in histogram](/12_Stack/README.md#largest-rectangular-area-in-histogram)### Practice Questions of Stack
[Minimum Bracket Reversal](/12_Stack/Assignment.md#minimum-bracket-reversal)
[Remove All Adjacent Duplicates In String](/12_Stack/Assignment.md#remove-all-adjacent-duplicates-in-string)
[Celebrity Problem](/12_Stack/Assignment.md#celebrity-problem)
[Next greater element in Linked List leetcode](/12_Stack/Assignment.md#next-greater-element-in-linked-list-leetcode)
[N Stacks in an Array](/12_Stack/Assignment.md#n-stacks-in-an-array)
[Online Stock Span Leetcode](/12_Stack/Assignment.md#online-stock-span-leetcode)
[Check If Word Is Valid After Substitutions Leetcode](/12_Stack/Assignment.md#check-if-word-is-valid-after-substitutions-leetcode)
[Decode Strings Leetcode](/12_Stack/Assignment.md#decode-strings-leetcode)
[Car Fleet - I Leetcode](/12_Stack/Assignment.md#car-fleet---i-leetcode)
[Car Fleet - 11 Leetcode](/12_Stack/Assignment.md#car-fleet---11-leetcode)
[Simplify Path Leetcode](/12_Stack/Assignment.md#simplify-path-leetcode)
[Max rectangle in Binary Matrix with all Is](/12_Stack/Assignment.md#max-rectangle-in-binary-matrix-with-all-is)
[Trapping rain Water](/12_Stack/Assignment.md#trapping-rain-water)## Queue
[operations](/13_Queue/README.md#operations)
[custom implementation of Queue](/13_Queue/README.md#custom-implementation-of-queue)
[Circular Queue](/13_Queue/README.md#circular-queue)
[Input restricted Queue](/13_Queue/README.md#input-restricted-queue)
[Output restricted Queue](/13_Queue/README.md#output-restricted-queue)
[Doubly ended Queue(Deque)](/13_Queue/README.md#doubly-ended-queue-deque)
[Circular Doubly ended Queue](/13_Queue/README.md#circular-doubly-ended-queue)
[STL Deque](/13_Queue/README.md#stl-deque)
[Reverse a queue](/13_Queue/README.md#reverse-a-queue)
[Reverse first k element of queue](/13_Queue/README.md#reverse-first-k-element-of-queue)
[Interleave first and second half of Queue](/13_Queue/README.md#interleave-first-and-second-half-of-queue)
[First -ve integer in every window of size k(sliding window + Queue)](/13_Queue/README.md#first--ve-integer-in-every-window-of-size-k-sliding-window--queue)
[Non-repeated character in a string](/13_Queue/README.md#non-repeated-character-in-a-string)
[Gas Station](/13_Queue/README.md)
[Sliding window maximum(sliding window + Queue)](/13_Queue/README.md#sliding-window-maximum-queue--sliding-window)### Practice Questions of Queue
[Implement Queue using stack](/13_Queue/Assignement.md#implement-queue-using-stack)
[Implement Stack using Queue](/13_Queue/Assignement.md#implement-stacks-using-queue)
[Implement k Queue in an array](/13_Queue/Assignement.md#implement-k-queues-in-an-array)## Tree
[Types of tree](/14_Tree/README.md#types-of-tree)
[Terms of tree](/14_Tree/README.md#terms-of-tree)
[Tree traversal](/14_Tree/README.md#tree-traversals)
[Building tree](/14_Tree/README.md#building-tree)
[Level order Traversal](/14_Tree/README.md#level-order-traversal)
[Inorder Traversal](/14_Tree/README.md#inorder-traversal---lnr)
[Preorder Traversal](/14_Tree/README.md#preordertraversal---nlr)
[PostOrder Traversal](/14_Tree/README.md#postorder-traversal---lrn)
[Maximum depth / height of binary tree](/14_Tree/README.md#maximum-depth--height-of-tree)
[Maximum depth / height of N-ary tree](/14_Tree/README.md#maximum-depth--height-of-n-ary-tree)
[Diameter of tree](/14_Tree/README.md#diameter-of-tree)
[Check if two tree are identical or not](/14_Tree/README.md#check-if-two-tree-are-identical-or-not)
[Check if two trees are mirror images of each other or not](/14_Tree/README.md#check-if-two-trees-are-mirror-images-of-each-other-or-not)
[Check if binary tree is balanced binary tree](/14_Tree/README.md#check-if-binary-tree-is-balanced-binary-tree)
[Check whether BT is sum tree or not/ convert BST into sum tree](/14_Tree/README.md#check-whether-bt-is-sum-tree-or-not--convert-bst-into-sum-tree)
[Lowest common ancestor](/14_Tree/README.md#lowest-common-ancestor)
[Kth ancestor](/14_Tree/README.md#kth-ancestor)
[Path sum](/14_Tree/README.md#path-sum)
[Path sum II](/14_Tree/README.md#path-sum-ii)
[Sum of longest bloodline](/14_Tree/README.md#sum-of-longest-bloodline-todo)
[Build tree from inorder and preorder traversal](/14_Tree/README.md#build-tree-from-inorder-and-preorder-traversal)
[Top View of binary tree](/14_Tree/README.md#top-view-of-binary-tree)
[Bottom view of binary Tree](/14_Tree/README.md#bottom-view-of-binary-tree)
[left view of tree](/14_Tree/README.md#left-view-of-binary-tree)
[right view of tree](/14_Tree/README.md#right-view)
[boundary view of tree](/14_Tree/README.md#boundary-traversal)### Practice Questions of Tree
[Fast way to find diameter of tree](/14_Tree/Assignment.md#fast-way-to-find-diameter-of-a-tree)
[Fast way to determing that binary tree is balanced or not](/14_Tree/Assignment.md#fast-way-to-determine-that-the-binary-tree-is-balanced-or-not)
[Check 2 trees are identical or not](/14_Tree/Assignment.md#check-2-trees-are-identical-or-not)
[Check 2 trees are mirror of each other or not](/14_Tree/Assignment.md#check-2-trees-are-mirror-of-each-other-or-not)
[Diagonal traversal of a binary tree](/14_Tree/Assignment.md#diagonal-traversal-of-a-binary-tree)
[Zig-Zag traversal of a binary tree](/14_Tree/Assignment.md#zig-zag-traversal-of-a-binary-tree)
[Transform to Sum tree.](/14_Tree/Assignment.md#transform-to-sum-tree)
[Vertical traversal of a binary tree.](/14_Tree/Assignment.md#vertical-traversal-of-a-binary-tree)
[Morris traversal of a binary tree](/14_Tree/Assignment.md#morris-traversal-of-a-binary-tree)
[Sum of longest bloodline of a tree](/14_Tree/Assignment.md#sum-of-longest-bloodline-of-a-tree)
[K-sum path in a binary tree](/14_Tree/Assignment.md#k-sum-path-in-a-binary-tree)
[Max sum of non-adjacent nodes in binary tree](/14_Tree/Assignment.md#max-sum-of-non-adjacent-nodes-in-binary-tree)
[Max time to burn a binary tree](/14_Tree/Assignment.md#max-time-to-burn-a-binary-tree)
[Flatten a Binary tree into Linked List](/14_Tree/Assignment.md#flatten-a-binary-tree-into-linked-list)
[Check if a Binary Tree contains duplicate subtrees of size 2 or more](/14_Tree/Assignment.md#check-if-a-binary-tree-contains-duplicate-subtrees-of-size-2-or-more)
[Check for Children Sum Property in a Binary Tree](/14_Tree/Assignment.md#check-for-children-sum-property-in-a-binary-tree)
[Serialize and Deserialize Binary Tree](/14_Tree/Assignmentmd#serialize-and-deserialize-binary-tree)## BST
[BST creation](/15_BST/README.md#bst-creation)
[Searching in BST](/15_BST/README.md#searching-in-bst)
[Minimum and Maximum value in BST](/15_BST/README.md#minimum-and-maximum-value-in-bst)
[Inorder predeccessor/successor](/15_BST/README.md#inorder-of-bst)
[Deletion in BST](/15_BST/README.md#deletion-in-bst)
[Validate BST](/15_BST/README.md#validate-bst)
[Lowest Common Ancestor](/15_BST/README.md#lowest-common-ancestor)
[Kth smallest Element in a BST](/15_BST/README.md#kth-smallest-element-in-a-bst)
[Create BST from Inorder Traversal](/15_BST/README.md#create-bst-from-inorder-traversal)
[Convert a BST into balanced BST](/15_BST/README.md#convert-a-bst-into-balanced-bst-todo)
[2 sum in BST](/15_BST/README.md#2-sum-in-bst)
[Convert BST into sorted doubly linked list](/15_BST/README.md#convert-bst-into-sorted-doubly-linked-list)
[Sorted doubly LL into BST](/15_BST/README.md#sorted-doubly-ll-into-bst)
[Convert sorted List to BST](/15_BST/README.md#convert-sorted-list-to-binary-search-tree)
[Find largest BST in binary tree](/15_BST/README.md#find-larget-bst-in-binary-tree)
[Merge 2 BST](/15_BST/README.md#merge-2-bst)### Practice Questions of BST
[Find inorder successor and inorder predecessor in a BST](/15_BST/Assignment.md#find-inorder-successor-and-inorder-predecessor-in-a-bst)
[Construct BST from preorder traversal](/15_BST/Assignment.md#construct-bst-from-preorder-traversal)
[Count pairs from 2 BST whose sum is eqaul to given value 'X'](/15_BST/Assignment.md#count-pairs-from-2-bst-whose-sum-is-equal-to-given-value-x)
[Convert a normal BST into balanced BST](/15_BST/Assignment.md#convert-a-normal-bst-into-a-balanced-bst)
[Find the median of BST in O(n) time and O(1) space](/15_BST/Assignment.md#find-the-median-of-bst-in-on-time-and-01-space)
[Check whether BST contains Dead end](/15_BST/Assignment.md#check-whether-bst-contains-dead-end)
[Flatten BST to sorted list](/15_BST/Assignment.md#flatten-bst-to-sorted-list)
[Count BST nodes that lie in a given range](/15_BST/Assignment.md#count-bst-nodes-that-lie-in-a-given-range)
[Replace every element with least greater element on its right.](/15_BST/Assignment.md#replace-every-element-with-the-least-greater-element-on-its-right)
[Valid BST from preorder](/15_BST/Assignment.md#valid-bst-from-preorder)## Heap
[Heap](/16_Heap/README.md#heap)
[Max heap](/16_Heap/README.md#max-heap)
[Insertion in max Heap](/16_Heap/README.md#insertion-in-max-heap)
[Deletion in max heap](/16_Heap/README.md#deletion-in-max-heap)
[Heapify](/16_Heap/README.md#heapify)
[Heap Sort](/16_Heap/README.md#heap-sort)
[stl heap](/16_Heap/README.md#stl-heap)
[kth smallest number in array](/16_Heap/README.md#kth-smallest-number-in-array)
[merge 2 max heap](/16_Heap/README.md#merge-2-max---heap)
[find if complete binary tree is heap or not](/16_Heap/README.md#find-if-complete-binary-tree-is-heap-or-not)
[convert bst into max heap](/16_Heap/README.md#convert-bst-into-max-heap)
[check given tree is CBT](/16_Heap/README.md#check-given-tree-is-cbt-complete-binary-tree-or-not)
[merge k sorted array](/16_Heap/README.md#merge-k---sorted-array)
[merge k sorted LL](/16_Heap/README.md#merge-k-sorted-ll)
[smallest range covering element from k lists](/16_Heap/README.md#smallest-range-covering-element-from-k-lists)
[remove stones to minimize the total](/16_Heap/README.md#remove-stones-to-minimize-the-total)
[make heap and heapify stl](/16_Heap/README.md#make_heap-and-heapify-stl-todo)
[reorganize string](/16_Heap/README.md#reorganize-string)
[longest happy string](/16_Heap/README.md#longest-happy-string)
[find median from data stream](/16_Heap/README.md#find-median-from-data-stream)### Practice questions of heap
[Check if tree is a heap](/16_Heap/Assignment.md#check-if-tree-is-a-heap)
[Merge 2 max heaps](/16_Heap/Assignment.md#merge-2-max-heaps)
[K closest point to origin](/16_Heap/Assignment.md#k-closest-point-to-origin)
[Sliding window maximum](/16_Heap/Assignment.md#sliding-window-maximum)
[Get biggest three rhombus sums in a grid](/16_Heap/Assignment.md#get-biggest-three-rhombus-sums-in-a-grid)
[Min diff in sum after element removal](/16_Heap/Assignment.md#min-diff-in-sum-after-element-removal)
[Min number of refuelling stops](/16_Heap/Assignment.md#min-number-of-refuelling-stops)## Maps and Tries
[HashMap](/17_Maps/README.md#hashmap)
[HashMap stl](/17_Maps/README.md#hashmap-stl)
[Implementation](/17_Maps/README.md#implementation)
[Custom hashMap implementation](/17_Maps/README.md#custom-hashmap-implementation)
[Using bucket array](/17_Maps/README.md#using-bucket-array)
[Good hash function](/17_Maps/README.md#good-hash-function)
[Find freq of characters in string](/17_Maps/README.md#find-freq-of-characters-in-string)
[Check circular LL](/17_Maps/README.md#check-circular-ll)
[Tries](/17_Maps/README.md#tries)
[Trie structure](/17_Maps/README.md#trie-structure)
[Longest common prefix](/17_Maps/README.md#longest-common-prefix)
[Implement dictornary](/17_Maps/README.md#implement-dictonary)
[Mutliset to find min and max in single Data structure](/17_Maps/README.md#mutliset-to-find-min-and-max-in-single-data-structure)### Practice question for Map & Tries
[Custom Sort String (using HashMap in class level)](/17_Maps/Assignment.md#custom-sort-string-using-hashmap-in-class-level)
[Array subste of another array](/17_Maps/Assignment.md#array-subset-of-another-array)
[Union of two linked list](/17_Maps/Assignment.md#union-of-two-linked-list)
[Intersection of two linked list](/17_Maps/Assignment.md#intersection-of-two-linked-list)
[Sum equal to sum](/17_Maps/Assignment.md#sum-equal-to-sum)
[Largest subarray with 0 sum](/17_Maps/Assignment.md#largest-subarray-with-0-sum)
[Implement trie prefix tree](/17_Maps/Assignment.md#implement-trie-prefix-tree)
[Replace words](/17_Maps/Assignment.md#replace-words)
[Top K frequent words](/17_Maps/Assignment.md#top-k-frequent-words)
[Camelcase matching](/17_Maps/Assignment.md#camelcase-matching)
[Palindrome pairs](/17_Maps/Assignment.md#palindrome-pairs)## DP
[Approach](/18_DP/README.md#approaches)
[When to apply DP](/18_DP/README.md#when-to-apply-dp)
[Top down (Memoization)](/18_DP/README.md#top-down-memoization)
[Bottom Up (Tabulation)](/18_DP/README.md#bottom-up-tabulation)
[Space Optimization](/18_DP/README.md#space-optimization)
[1D DP and 2D DP](/18_DP/README.md#1d-dp-and-2d-dp)
[Fibonacci](/18_DP/README.md#fibonacci)
[Coin change](/18_DP/README.md#coin-change)
[House robber](/18_DP/README.md#house-robber)
[Painting Fence](/18_DP/README.md#painting-fence)
[0/1 knapsack problem - 2D DP problem](/18_DP/README.md#01-knapsack-problem---2d-dp-problem)
[Out of Boundary Paths - 3D DP problem](/18_DP/README.md#out-of-boundary-paths---3d-dp-problem)
[Partition equal subset sum](/18_DP/README.md#partition-equal-subset-sum)
[Number of dice roll with target](/18_DP/README.md#number-of-dice-roll-with-target)
[Minimum swaps to make sequence increasing](/18_DP/README.md#minimum-swaps-to-make-sequence-increasing)
[Guess number higher or lower II](/18_DP/README.md#guess-number-higher-or-lower-ii)
[Minimum cost tree leaf values](/18_DP/README.md#minimum-cost-tree-from-leaf-values)
[Unique binary search tree](/18_DP/README.md#unique-binary-search-tree)
[DP on string](/18_DP/README.md#dp-on-string)
[Find longes increasing subsequence](/18_DP/README.md#find-longest-increasing-subsequence)
[DP with binary search](/18_DP/README.md#dp-with-binary-search)
[Russian Doll envelopes](/18_DP/README.md#russian-doll-envelopes)
[Maximum Height by stacking cuboids](/18_DP/README.md#maximum-height-by-stacking-cuboids)### Practice question of DP
Linear DP
- [Perfect Squares Leetcode](/18_DP/Assignment.md#perfect-squares-leetcode)
- [Min Cost for Tickets Leetcode](/18_DP/Assignment.md#min-cost-for-tickets-leetcode)DP on Strings
- [Longest Palindromic SubString Leetcode](/18_DP/Assignment.md#longest-palindromic-substring-leetcode)
- [Distinct Subsequences Leetcode](/18_DP/Assignment.md#distinct-subsequences-leetcode)
- [Min ASCII Delete Sum for 2 Strings Leetcode](/18_DP/Assignment.md#min-ascii-delete-sum-for-2-strings-leetcode)
- [Word Break 1 and 2 Leetcode](/18_DP/Assignment.md#word-break-1-and-2-leetcode)DP on Trees
- [House Robber iii Leetcode](/18_DP/Assignment.md#house-robber-iii-leetcode)
- [Unique BST ii Leetcode](/18_DP/Assignment.md#unique-bst-ii-leetcode)DP on Intervals
- [Stone Games Leetcode](/18_DP/Assignment.md#stone-games-leetcode)
- [Burst balloons Leetcode](/18_DP/Assignment.md#burst-balloons-leetcode)LIS / LCS Variants
- [Intervleaving Strings Leetcode](/18_DP/Assignment.md#intervleaving-strings-leetcode)
- [Min Insertion steps to make a string palindrome Leetcode](/18_DP/Assignment.md#min-insertion-steps-to-make-a-string-palindrome-leetcode)
- [Min Number of Removals to make Mountain Array Leetcode](/18_DP/Assignment.md#min-number-of-removals-to-make-mountain-array-leetcode)
- [Make Array Strictly increasing Leetcode](/18_DP/Assignment.md#make-array-strictly-increasing-leetcode)Buy & Sell Stocks Variants [all 5 variants] Leetcode
- [1st Variant [121. Best Time to Buy and Sell Stock] - Already Covered in Recursion Week HomeWork](/18_DP/Assignment.md#1st-variant-121-best-time-to-buy-and-sell-stock---already-covered-in-recursion-week-homework)
Knapsack DP
- [Target Sum Leetcode](/18_DP/Assignment.md#target-sum-leetcode)
- [Min Swaps to make Sequences increasing Leetcode](/18_DP/Assignment.md#min-swaps-to-make-sequences-increasing-leetcode)
- [Reducing Dishes Leetcode](/18_DP/Assignment.md#reducing-dishes-leetcode)
- [Ones and Zeroes Leetcode](/18_DP/Assignment.md#ones-and-zeroes-leetcode)MinMax DPs
- [Predict the Winner Leetcode](/18_DP/Assignment.md#predict-the-winner-leetcode)
- [Partition Array for Maximum Sum](/18_DP/Assignment.md#partition-array-for-maximum-sum)## Graph
[Types of graph](/19_Graphs/README.md#types-of-graphs)
[Degree of node](/19_Graphs/README.md#degree-of-node)
[In degree](/19_Graphs/README.md#in-degree)
[Out degree](/19_Graphs/README.md#out-degree)
[path](/19_Graphs/README.md#path)
[Acyclic Graph](/19_Graphs/README.md#acyclic-graph)
[Graph Implementation](/19_Graphs/README.md#graph-implementation)
[Adjancency Matrix](/19_Graphs/README.md#adjancency-matrix)
[Adjancency List](/19_Graphs/README.md#adjancency-list)
[weighted adjancency list](/19_Graphs/README.md#weighed-adjancency-list)
[Graph data structure](/19_Graphs/README.md#graph-data-structure)
[BFS and DFS traversal](/19_Graphs/README.md#bfs--dfs-traversal)
[Cycle Detection using BFS, DFS for Directed and undirected](/19_Graphs/README.md#cycle-detection)
[Topological Sort using DFS & (BFS - kahn's algorithm)](/19_Graphs/README.md#topological-sort)
[Shortest path using BFS](/19_Graphs/README.md#shortest-path)
[Shortest path using DFS and Topological sort](/19_Graphs/README.md#shortest-path)
[Shortest path using Dijkstra algorithm set implementation](/19_Graphs/README.md#shortest-path-using-dijkstra-algorithm)
[Shortest path Dijkstra (Word ladder problem priority queue implementation )](/19_Graphs/README.md#word-ladder)
[Cons of Dijkstra and its alternate solution](/19_Graphs/README.md#cons-of-djikstra-algorithm)
[Shortest path Bellman Ford algorithm](/19_Graphs/README.md#bellman---ford-algorithm)
[Floyd Warshall](/19_Graphs/README.md#floyd-warshall)
[Strongly Connected component / Kosaraju algorithm](/19_Graphs/README.md#strongly-connected-component-scc--kosaraju-algorithm)
[Bridge in a graph / Tarjan's algorithm](/19_Graphs/README.md#bridge-in-a-graph--tarjans-algorithm)### questions
[Number of provincies (BFS & DFS)](/19_Graphs/README.md#number-of-provincies)
[Number of island (DFS)](/19_Graphs/README.md#number-of-islands)
[Flodd fill (DFS)](/19_Graphs/README.md#flood-fill)
[Rotting Oranges (BFS - find deepest level)](/19_Graphs/README.md#rotting-oranges)
[Course Schedule (topological sort)](/19_Graphs/README.md#course-schedule)
[Course Schedule II (topological sort)](/19_Graphs/README.md#course-schedule-ii)
[Path with Minimum Effort (Dijkstra priority queue)](/19_Graphs/README.md#path-with-minimum-effort)
[Critical Connection in a network (finding bridges)](/19_Graphs/README.md#critical-connections-in-a-network)### assignments
[Spanning Tree and Minimum spanning tree](/19_Graphs/Assignment.md#spanning-tree)
[Prim's algorithm](/19_Graphs/Assignment.md#prims-algorithm)
[Kruskal's algorithm](/19_Graphs/Assignment.md#kruskals-algorithm)
[Eventual Safe states](/19_Graphs/Assignment.md#eventual-safe-states)
[Word Ladder-2](/19_Graphs/Assignment.md#word-ladder-2)
[Minimum Mulitiplication to reach End](/19_Graphs/Assignment.md#minimum-multiplications-to-reach-end)
[Number of operation to make network Connected](/19_Graphs/Assignment.md#number-of-operations-to-make-network-connected)
[Find the city with the smallest number of neighbours at a threshold distance](/19_Graphs/Assignment.md#find-the-city-with-the-smallest-number-of-neighbours-at-a-threshold-distance)
[Accounts merge](/19_Graphs/Assignment.md#accounts-merges)## Greedy
[Arrival time of train](/20_Greedy/README.md#arrival-time-of-train)
[Lollipop](/20_Greedy/README.md#lollipop)
[DEFKIN](/20_Greedy/README.md#defkin)
[Min cost of ropes](/20_Greedy/README.md#min-cost-of-ropes)
[Huffman encoding](/20_Greedy/README.md#huffman-encoding)
[Fractional knapsack](/20_Greedy/README.md#fractional-knapsack)
[Chocolate Distribution](/20_Greedy/README.md#chocolate-distribution)## Sliding Window
[Fixed size window](/21_sliding_window/README.md#fixed-size-windows)
[Varaible size window](/21_sliding_window/README.md#variable-size-window)
[Two pointer approach](/21_sliding_window/README.md#two-pointer-approach)
[Optimized window](/21_sliding_window/README.md#optimized-window)
[Smallest window in a string containing all the characters of another string](/21_sliding_window/README.md#smallest-window-in-a-string-containing-all-the-characters-of-another-string)## Bit Manipulation
[Odd/even checking](/22_Bit_Manipulation/README.md#oddeven-checking)
[Bit masking](/22_Bit_Manipulation/README.md#bit-masking)
[Change ith bit](/22_Bit_Manipulation/README.md#change-ith-bit)
[Single number XOR logic duplication](/22_Bit_Manipulation/README.md#single-number)
[Clear last ith bits](/22_Bit_Manipulation/README.md#clear-last-i-bits)
[Check power of 2](/22_Bit_Manipulation/README.md#check-power-of-2)
[Count set bits](/22_Bit_Manipulation/README.md#count-set-bits)
[Fast exponential](/22_Bit_Manipulation/README.md#fast-exponential)
[Clear range of bits](/22_Bit_Manipulation/README.md#clear-range-of-bits)
[subsequence using bit masking](/22_Bit_Manipulation/README.md#subsequence-using-bitmasking)## Placment Guidance
[Interview Dos and Don'ts](/PLACEMENT_STUFF/Interview__Dos_and_Donts_love_babbar.pdf)
[Placement opportunities](/PLACEMENT_STUFF/Lets_talk_about_Placement_Opportunities_with_love_babber.pdf)
[Resume Review](/PLACEMENT_STUFF/Lets_talk_about_RESUME_witth_love_babbar.pdf)## LICENSE
[MIT LICENSE](/LICENSE)