data structures and algorithms lab programs