Implementation of data structures and algorithms with coding challenges