Skip to main content

Definitions

Hashing - Consistent Hashing

  • Using a hash ring to divide hashing space into consistent servers
  • Goal is to minimize the impact when adding/removing servers due to expected or unexpected reasons.
  • Key => hash value => position in hash ring => move in clockwise until reaching the first avaialble server
  • in case of hot spots, dynamically adding more server into that section has limited impact to other servers
  • used in Memcached and Redis, Cassandra and Riak, CDN

Tree - Inorder Traversal (DFS)

  • Left subtree => tree node => right subtree
  • in BST => prints order

Tree - Preorder Traversal

  • tree node => left subtree => right subtree
  • used in copy tree?

Tree - Postorder Traversal

  • left subtree => right subtree => tree node
  • used in delete the tree?

Tree - Levelorder Traversal (BFS)

  • level1 left to right => level2 left to right => ...