Packt Publishing, 2019. — 312 p. — ISBN: 978-1-78899-401-9.
Hands-On Data Structures and Algorithms with Kotlin: Master Data Structure and Algorithms in Kotlin to develop high performance durable apps
Acquire smart and efficient techniques to make your development code faster and more scalableData Structures and Algorithms are much more than theoretical concepts. Learning them gives you an ability to understand computational complexity, solve problems, and write efficient code. Kotlin Data structures and Algorithms enables you to write code that runs faster which is hugely important in web and mobile world. This book takes you through a pragmatic approach with techniques and real-world examples that you can use in your regular production environment.
We start off with the basics of algorithms and data structures, helping you understand the fundamentals and measure complexity. From here, we introduce you to concepts such as arrays, linked lists, as well as abstract data types such as stacks and queues. Next, we’ll take you through the basics of functional programming while making sure you get used to thinking recursively.
We provide plenty of examples along the way to help you understand each concept. You will also get a clear picture of reactive programming, binary searches, sorting, search trees, undirected graphs, and a whole lot more!
By the end of the book, you will learn how to build components that are easy to understand, debug, and use in different applications.
What You Will LearnUnderstand the basic principles of algorithms, data structures, and measurement of complexity.
Find out what general purpose data structures are, including arrays, linked lists, double ended linked lists, and so on.
Get a grasp on the basics of abstract data types—stack, queue, and double ended queue.
See how to use recursive functions and immutability while understanding and in terms of recursion.
Handle reactive programming and its related data structures.
Use binary search, sorting, and efficient sorting—quicksort and merge sort.
Work with the important concept of trees and list all nodes of the tree, traversal of tree, search trees, and balanced search trees.
Gain a better understanding of the concept of graphs, directed and undirected graphs, undirected trees, and much more.