title: Hash : How does it work internally?
body: <p>This might sound as an very vague question upfront but it is not. I have gone through <a href="http://en.wikipedia.org/wiki/Hash_function" rel="noreferrer">Hash Function</a> description on wiki but it is not very helpful to understand. </p>
  
  <p>I am looking simple answers for rather complex topics like Hashing. Here are my questions:</p>
  
  <ol>
  <li>What do we mean by hashing? How does it work internally?</li>
  <li>What algorithm does it follow ?</li>
  <li>What is the difference between <code>HashMap</code>, <code>HashTable</code> and <code>HashList</code> ?</li>
  <li>What do we mean by 'Constant Time Complexity' and why does different implementation of the hash gives constant time operation ?</li>
  <li>Lastly, why in most interview questions <code>Hash</code> and <code>LinkedList</code> are asked, is there any specific logic for it from testing interviewee's knowledge?</li>
  </ol>
  
  <p>I know my question list is big but I would really appreciate if I can get some clear answers to these questions as I really want to understand the topic.</p>