Data structure and algorithms