implementations of some classical and useful data structures and algorithms