data structures and algorithms 165835