Algorithms and Data Structures (Java,Scala)