Data Structures & Algorithms in Swift: Implementing Practical Data Structures with Swift, 3rd Edition

Data Structures & Algorithms in Swift: Implementing Practical Data Structures with Swift, 3rd Edition

English | 2019 | 430 Pages | PDF, EPUB, CODE | 31 MB

The most popular and comprehensive book on Swift algorithms & data structures!
This book covers search (breadth-first, depth-first, Dijkstra’s), sort (merge sort, radix sort, heap sort, and quicksort), trees (binary trees, AVL trees, binary search trees), stacks, graphs, and more.
Learn how to implement the most common and useful data structures and algorithms in Swift!
Understanding how data structures and algorithms work in code is crucial for creating efficient and scalable apps. Swift’s Standard Library has a small set of general purpose collection types, yet they definitely don’t cover every case!
In Data Structures and Algorithms in Swift, you’ll learn how to implement the most popular and useful data structures, and when and why you should use one particular datastructure or algorithm over another. This set of basic data structures and algorithms will serve as an excellent foundation for building more complex and special-purpose constructs. As well, the high-level expressiveness of Swift makes it an ideal choice for learning these core concepts without sacrificing performance.
You’ll start with the fundamental structures of linked lists, queues and stacks, and see how to implement them in a highly Swift-like way. Move on to working with various types of trees, including general purpose trees, binary trees, AVL trees, binary search trees, and tries. Go beyond bubble and insertion sort with better-performing algorithms, including mergesort, radix sort, heap sort, and quicksort. Learn how to construct directed, non-directed and weighted graphs to represent many real-world models, and traverse graphs and trees efficiently with breadth-first, depth-first, Dijkstra’s and Prim’s algorithms to solve problems such as finding the shortest path or lowest cost in a network.
By the end of this book, you’ll have hands-on experience solving common issues with data structures and algorithms — and you’ll be well on your way to developing your own efficient and useful implementations!