adding data structures and algorithms solutions