Introduction to Algorithms and Data Structures in Swift 4