Hands-On Data Structures and Algorithms with Kotlin : Level up Your Programming Skills by Understanding How Kotlin's Data Structure Works.

Data structures and algorithms help you to understand computational complexity and write efficient code. Kotlin data structures and algorithms enable you to write code that runs faster which is important in the web and mobile world. This book takes you through the techniques that you can use in your...

Full description

Saved in:
Bibliographic Details
Online Access: Full text (MCPHS users only)
Main Author: Nayak, Chandra Sekhar
Other Authors: Chakraborty, Rivu
Format: Electronic eBook
Language:English
Published: Birmingham : Packt Publishing Ltd, 2019
Subjects:
Local Note:ProQuest Ebook Central
Table of Contents:
  • Cover; Title Page; Copyright and Credits; Packt Upsell; Contributors; Table of Contents; Preface; Section 1: Getting Started with Data Structures; Chapter 1: A Walk Through
  • Data Structures and Algorithms; Technical requirements; Working with the command-line compiler; Working with IntelliJ IDEA; Working with Eclipse; Learning about algorithms; A few examples of algorithms; Introduction to data structures; Complexity analysis; Analyzing with time complexity; Analyzing with space complexity; Time complexity versus space complexity; Learning about notations; Counting instructions
  • Asymptotic behaviorExamples of complexity analysis; Summary; Further reading; Chapter 2: Arrays
  • First Step to Grouping Data; Technical requirements; Introduction to arrays; Operations with arrays; Creating an array; Creating an array using library functions; Creating an array using the constructor; Accessing elements from an array; Accessing an element using the Array Access Operator ; Accessing an element using the get function; Accessing an element using the extension functions; Iterating over an array; Updating elements in an array; Vectors (dynamic arrays)
  • Adding an element to a Vector classUpdating and fetching an element; Removing an element from Vector; The beauty of immutable arrays; Multidimensional array; Operations in multidimensional arrays; Accessing an element; Updating an element; Iterating over the array; Working with a matrix; Adding two matrices; Multiplying two matrices; A short introduction to strings; Summary; Questions; Section 2: Efficient Grouping of Data with Various Data Structures; Chapter 3: Introducing Linked Lists; Technical requirements; Getting started with LinkedList; Understanding a Singly Linked List
  • Operations on a Singly Linked ListInserting a node in a Singly Linked List; Inserting a node at the 0th index; Inserting a node at the last index; Inserting a node at a given index; Fetching a node value from a Singly Linked List; Fetching a value from the first or last node; Fetching the value of a node at a given index; Updating a node from a Singly Linked List; Deleting a node from a Singly Linked List; Removing the first and last node of a LinkedList; Removing the node based on its value; Removing the node at a particular index; Clearing the LinkedList
  • Searching for an element in a Singly Linked ListUnderstanding the Doubly Linked List; Adding a node; Deleting a node; Fetching a node; Understanding a Circular Linked List; Summary; Questions; Chapter 4: Understanding Stacks and Queues; Technical requirements; Understanding stacks; Operations on a stack; Implementing stacks; Stacks with a fixed size; Stacks with a dynamic size; Stack implementation using a LinkedList; Pushing an element into the stack; Popping an element from the stack; Understanding a queue; Operations on queues; Implementing a queue; Queues with a fixed size