Your next career begins with
Save 50% off your seat in our next iOS Bootcamp. Limited time only. Sessions start April 3.
Data Structures & Algorithms in Kotlin
Version history
Second Edition · Android 11, Kotlin 1.5, IntelliJ IDEA Community Edition 2021.1
Jun 29 2021First Edition · Android 10, Kotlin 1.3, IDEA (Selected)
Sep 18 2019A book that teaches you the fundamental tools of implementing key data structures in Kotlin, and how to use them to solve algorithms. By Matei Suica, Kelvin Lau, Vincent Ngo & Irina Galata.
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Who is this for?
This book is for intermediate Kotlin or Android developers who already know the basics of the language and want to improve their knowledge.
Covered concepts
- Introduction to Kotlin
- Complexity and Big O notation
- Elementary Data Structures
- Trees — in particular, Binary Trees, AVL Trees, as well as Binary Search
- Sorting Algorithms
- Solving Algorithms with Graphs
Data structures and algorithms are fundamental tools every developer should have. In this book, you’ll learn how to implement key data structures in Kotlin, and how to use them to solve a robust set of algorithms.
This book is for intermediate Kotlin or...
moreLearn Data Structures & Algorithms in Kotlin!
Data structures and algorithms are fundamental tools every developer should have. In this book, you’ll learn how to implement key data structures in Kotlin, and how to use them to solve a robust set of algorithms.
This book is for intermediate Kotlin or Android developers who already know the basics of the language and want to improve their knowledge.
Topics Covered in This Book
- Introduction to Kotlin: If you’re new to Kotlin, you can learn the main constructs and begin writing code.
- Complexity: When you study algorithms, you need a way to compare their performance in time and space. Learn about the Big-O notation to help you do this.
- Elementary Data Structures: Learn how to implement Linked List, Stacks, and Queues in Kotlin.
- Trees: Learn everything you need about Trees — in particular, Binary Trees, AVL Trees, as well as Binary Search and much more.
- Sorting Algorithms: Sorting algorithms are critical for any developer. Learn to implement the main sorting algorithms, using the tools provided by Kotlin.
- Graphs: Have you ever heard of Dijkstra and the calculation of the shortest path between two different points? Learn about Graphs and how to use them to solve the most useful and important algorithms.
Before You Begin
This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.
Section I: Introduction to Data Structures & Algorithms
The chapters in this short but important section explain what’s built into the Kotlin Standard Library and how you use it in building your apps. You’ll learn why one algorithm may be better suited than another. You’ll also learn what the Big-O notation is and how you can continue to answer the question: “Can we do better?”
Section II: Elementary Data Structures
This section looks at a few important data structures that form the basis of more advanced algorithms covered in future sections.
Section III: Trees
Trees are another way to organize information, introducing the concept of children and parents. You’ll look of the most common tree types and see how they can be used to solve specific computational problems.
Trees are a useful way to organize information when performance is critical. Adding them to your toolbelt will undoubtedly prove to be useful throughout your career.
Section IV: Sorting Algorithms
Putting lists in order is a classical computational problem. Sorting has been studied since the days of vacuum tubes and perhaps even before that. Although you may never need to write your own sorting algorithm — thanks to the highly optimized standard library — studying sorting has many benefits. You’ll be introduced, for example, to the all-important technique of divide-and-conquer, stability, and best- and worst-case timing.
Studying sorting may seem a bit academic and disconnected to the real world of app development, but understanding the tradeoffs for these simple cases will lead you to a better understanding and let you analyze any algorithm.
Section V: Graphs
Graphs are an extremely useful data structure that can be used to model a wide range of things: webpages on the internet, the migration patterns of birds, protons in the nucleus of an atom. This section gets you thinking deeply (and broadly) about how to use graphs and graph algorithms to solve real-world problems. The chapters that follow will give the foundation you need to understand graph data structures. Like previous sections, every other chapter will serve as a Challenge chapter so you can practice what you’ve learned.
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development — plans start at just $19.99/month! Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.
Learn more