Data Structures and algorithms implementations