# Temporary Data Structures

## Data Structures Study Materials

### Searching ALGORITHMS

• Linear Search – C | C++ | Java
• Binary Search – C | C++ | Java

### ARRAY

• Introduction to Arrays – C | C++ | Java
• Array Rotation – C | C++ | Java
• Reverse an array or string- C | C++ | Java
• Searching in Rotated-Sorted array – C | C++ | Java
• Find missing number in array – C | C++ | Java
• Find pairs in array with given sum – C | C++ | Java
• Sort the array in Waveform – C | C++ | Java
• Majority Element in Array – C | C++ | Java
• Boyer-Moore’s Voting Algorithm – C | C++ | Java
• K-pairs with smallest sum in 2 arrays – C | C++ | Java
• Largest Sum Contigous SubArray – C | C++ | Java
• Maximum Average Sub-array of K length – C | C++ | Java
• Size of sub-array with max sum – C | C++ | Java
• Sub-array with given sum – C | C++ | Java
• Triplet that sum to a given value – C | C++ | Java
• Segregate 0’s and 1’s in array – C | C++ | Java
• Segregate 0’s 1’s and 2’s in array – C | C++ | Java
• Sort elements in array by frequency – C | C++ | Java
• Finding pythagorean triplets in an array – C | C++ | Java
• Reorder array using given indexes – C | C++ | Java
• Merging two sorted arrays – C | C++ | Java
• Minimum number of Merge Operations to make an Array Palindrome – C | C++ | Java
• Find Zeros to be Flipped so that number of Consecutive 1’s is maximized – C | C++ | Java

• Insertion in singly Linked List  – C | C++ | Java
• Deletion in singly Linked List  – C | C++ | Java
• Reverse a linked list without changing links between nodes (Data reverse only) – C | C++ | Java
• Reverse a linked list by changing links between nodes – C | C++ | Java
• Print reverse of a linked list without actually reversing – C |C++ | Java
• Search an element in a linked list – C | C++ | Java
• Insertion in a Sorted Linked List – C | C++ | Java
• Delete alternate nodes of a Linked List – C | C++ | Java
• Find middle of the linked list – C | C++ | Java
• Reverse a linked list in groups of given size – C | C++ | Java
• Find kth node from end of the linked list – C | C++ | Java
• Append the last n nodes of a linked list to the beginning of the list – C | C++ | Java
• Check whether linked list is palindrome or not – C | C++ | Java
• Fold a Linked List – C | C++ | Java

### Trees

###### BINARY TREE
• Depth First Traversals – C | C++ | Java
• Level Order Traversal – C | C++ | Java
• Construct Tree from given Inorder and Preorder traversals – C | C++ | Java
• Construct Tree from given Postorder and Inorder traversals – C | C++ | Java
• Construct Tree from given Postorder and Preorder traversal – C | C++ | Java
• Find size of the Binary tree – C | C++ | Java
• Find the height of binary tree – C | C++ | Java
• Find maximum in binary tree – C | C++ | Java
• Check whether two tree are identical- C/ C++| Java
• Spiral Order traversal of Tree C | C++| Java
• Level Order Traversal LIne by Line – C | C++| Java
• Hand shaking lemma and some Impotant Tree Properties.
• Check If binary tree if Foldable or not.- C| C++| Java
• check whether tree is Symmetric  C| C++| Java.
• Check for Children-Sum in Binary Tree- C|C++| Java
• Sum of all nodes in Binary Tree. C| C++ | Java
• Lowest Common Ancestor in Binary Tree. C| C++ | Java.t