Algorithms And Data Structures For Machine Learning