Chapter 1, A Walk Through – Data Structures and Algorithms, examines the basic definition of data structures and algorithms, how we can classify them, and their importance.
Chapter 2, Arrays – First Step to Grouping Data, dives deep into the most basic data structure, called an array. We will look at different types of arrays, and how to create and use them with some examples.
Chapter 3, Introducing Linked Lists, covers different topics on linked lists, their types, and how to implement these different types. It offers a guide on when to use these lists, and how they are different from vectors.
Chapter 4, Understanding Stacks and Queues, covers topics related to stacks and queues, how to implement them using arrays, and their use cases. We will start by introducing stacks, then see how to create them using arrays, with some examples showing operations we can make on stacks. Then, we will introduce the queue data structure to the reader, and show them how to implement different types of queues using arrays.
Chapter 5, Maps – Working with Key-Value Pairs, examines different types of map data structures and when each one is useful. Then, we will implement custom maps to show the reader how they can achieve them.
Chapter 6, Deep-Dive into Searching Algorithms, since we have already learned a lot of basic data structures, we will be now be introduced to a few algorithms to understand how they can be used to do some operations on those data structures in a more efficient way. We will cover our first and most important operation on different data structures (that is, searching) in this chapter, and also explain different types of searching techniques.
Chapter 7, Understanding Sorting Algorithms, explains how to sort a collection of items, and outlines why and when they should be sorted. Then, we will learn different techniques for sorting.
Chapter 8, Collections and Data Operations in Kotlin, introduces the collection framework provided by Kotlin and explains its usage to make your work much easier.
Chapter 9, Introduction to Functional Programming, introduces the reader to the functional style of writing programs and explains why this is beneficial. We will introduce functional data structures, along with arrow, the functional companion to the Kotlin standard library.