Programs illustrating algorithms and data-structures one encounters in interviews