Temporary Data Structures

Data Structures Study Materials

Sorting Algorithms

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

LINKED LIST

SINGLY LINKED LIST
  • 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

DOUBLY LINKED LISTS

CIRCULAR LINKED LISTS

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