Data structure and algortithms