title: How does a sentinel node offer benefits over NULL?
body: <p>On the <a href="http://en.wikipedia.org/wiki/Sentinel_node">Sentinel Node wikipedia page</a> it says that the benefits of a sentinel node over NULL are :</p>
  
  <ul>
  <li>Increased speed of operations</li>
  <li>Reduced algorithmic code size</li>
  <li>Increased data structure robustness (arguably).</li>
  </ul>
  
  <p>I don't really understand how the checks against a sentinel node would be faster (or how to properly implement them in a linked list or tree), so I suppose this is more of a two part question:</p>
  
  <ol>
  <li>What causes the sentinel node to be a better design than NULL?</li>
  <li>How would you implement a sentinel node in (for example) a list?</li>
  </ol>