Data Structures and Algorithms for Javascript