Coding puzzles, data structure and algorithms