Augmenting data structure : Adding some extra information to the existing data structure so that the data structure can be implemented efficiently. For example, typically any node of a tree contains some useful information such as a left pointer, right pointer, data, parent node, the color of the node. This information is useful for accessing particular node more efficiently from the given tree.

Important linear time sorting algorithms : Counting Sort, Radix Sort and Bucket Sort

Impotant advanced data structures to learn:

  • Trie
  • AVL Tree
  • B - Tree
  • Segment Tree

Important string matching algorithms: KMP and Rabin-Karp Algorithms

Randomized algorithm is a technique that uses a source of randomness as part of its logic.