title: What is the difference between chaining and probing in hash tables?
body: <p>How do they work? What is their major differences? What are their respective trade-offs? What are their types (if any)? When is one preferred to another (if at all)?</p>
  
  <p>PS: I've already gone through <a href="https://stackoverflow.com/questions/15993928/anagrams-hashing-with-chaining-and-probing-in-c">Anagrams - Hashing with chaining and probing in C</a> and <a href="https://stackoverflow.com/questions/23821764/why-do-we-use-linear-probing-in-hash-tables-when-there-is-separate-chaining-link">Why do we use linear probing in Hash tables when there is separate chaining linked with lists?</a>, but neither seems to draw a contrast between the two methods.</p>