Learn the datastruct and algorithm