# Announcing Data Structures & Algorithms in Kotlin, Second Edition!

Whether you want to make your code more efficient, or prepare for a job interview at a big tech company, our newly-updated book is here to help you. By B. Patil.

Save for later
Share

## Announcing Data Structures & Algorithms in Kotlin, Second Edition!

10 mins

Data structures and algorithms. Get familiar with them and they will give back to you in more ways than one.

Knowledge of data structures and algorithms helps you write more efficient code. If you’re a developer interested in writing efficient code, you obviously need to know data structures and algorithms like the back of your hand.

You also might be part of another cohort of developers, one that’s interviewing for jobs at different companies right now. Maybe you’re not challenged enough at your current developer job, or maybe you want a better-compensating, more rewarding job at a bigger company, and you know that mastering your data structures and algorithms is key to nailing that next whiteboard interview!

So what do we have for y’all today?

## Data Structures & Algorithms. Made Easier With the Simplicity of Kotlin!

Whether you’re a developer looking to make your code more efficient/faster, or a developer who wishes to interview at the best companies in the world, we’ve got something to help you with data structures and algorithms in Kotlin that covers:

• 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.

Meet our newly-updated, beautiful, behemoth of a book, Data Structures & Algorithms in Kotlin!

## Who Is This Book for?

This book is for software engineers and developers who want to:

• Learn data structures and algorithms from the basics.
• Revisit their CS skills and take them to the next level.
• Make their code more efficient by writing better data structures and algorithmic logic.
• Interview at companies like Facebook, Google, Apple, and more—which have a focus on data structures and algorithms in their interview process.

## What’s Inside the Book?

Our Data Structures & Algorithms in Kotlin book starts from the very basics of Kotlin and makes its way through a lot of data structures and algorithms. Here are all the sections in the book…

### 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 do you use it in building your apps?
• Why would one algorithm be better suited than another?
• What’s the Big-O notation and how can you 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.

You’ll get started with:

• Stack Data Structures
• Queues

### Section III: Trees

Trees are another way to organize information, introducing the concept of children and parents. In this section, you will:

• Look of the most common tree types.
• 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
• Best-case timing
• 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.
• 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.

## What Do You Need?

To follow along with this book, you’ll need the following:

• IntelliJ IDEA Community Edition 2021.1.x: Available at jetbrains.com/idea. This is the environment in which you’ll develop most of the sample code in this book.
• Kotlin Playground: You can also use the Kotlin Playground available at the Kotlin home page at play.kotlinlang.org.

## How to Get Your Own Copy

There are two ways you can get this book:

• Buy it individually: If you want to build up a custom library without a subscription, you can choose to buy the book individually. It’s available now for just \$59.99 in our online store.
• Get it as part of our Pro subscription: Enjoy access to our videos and mobile development books in our Ultimate Pro subscription, including Data Structures & Algorithms in Kotlin! Right now, you can get a full year’s subscription and save 20% off the cost of a regular monthly subscription. It’s simply the best investment for your development career.

We hope you enjoy this book! Feel free to reach out to us if you have any questions.

## Say Hello to the Team! 👋

Meet the amazing people behind this book…

Irina Galata [Author]: Irina Galata is an author of this book. She is a software engineer in Linz, Austria, working at Runtastic. She passionate about programming and exploring new technologies. You can follow her on twitter @igalata13.

Márton Braun [Author]: Márton Braun is an author of this book. He is a Kotlin enthusiast since the 1.0 of the language, and an aspiring writer, speaker, and educator. He’s an Android engineer and teaches Kotlin in his own university course. Creator of the RainbowCake, Krate, and requireKTX libraries. One of the top contributors under the Kotlin tag on StackOverflow. You can find him on Twitter @zsmb13.

Matei Suica [Author]: Matei is a software developer that dreams about changing the world with his work. From his small office in Romania, Matei is trying to create an App that will help millions. When the laptop lid closes, he likes to go to the gym and read. You can find him on Twitter or LinkedIn: @mateisuica.

Vincent Ngo [Author]: Vincent Ngo is an author of this book. A software developer by day at a growing startup, and a Flutter enthusiast by night, he believes that sharing knowledge is the best way to learn and grow as a techie. Vincent starts every morning with a Cà phê sữa đá (Vietnamese coffee) to fuel his day. He enjoys playing in small golf tournaments, meditating, and watching animated movies. You can find him on Twitter: @vincentngo2.

Kelvin Lau [Author]: Kelvin is a Swift Developer. He currently maintains the Swift Algorithm Club. In his free time, he dabbles in web development and server side Swift. Outside of programming work, he’s an aspiring entrepreneur. You can find him on his Twitter at @KelvinlauKL.

Massimo Carli [Final Pass Editor]: Massimo Carli is the final pass editor of this book. Massimo has been working with Java since 1995 when he co-founded the first Italian magazine about this technology mokabyte.it. After many years creating Java desktop and enterprise application, he started to work in the mobile world. In 2001 he wrote his first book about J2ME. After many J2ME and Blackberry applications, Massimo then started to work with Android in 2008. The same year he wrote the first Italian book about Android, a best seller on Amazon.it. That was the first of a series of 10 books about Android and Kotlin. Massimo worked at Yahoo and Facebook and he’s actually Senior Mobile Engineer at Spotify. He’s a musical theatre lover and a supporter of the soccer team S.P.A.L.

B. Patil

B. Patil

Author