personal work for practicing implementation of different data structures and algorithms