Everyday Data Structures
eBook - ePub

Everyday Data Structures

William Smith

Share book
  1. 344 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Everyday Data Structures

William Smith

Book details
Book preview
Table of contents
Citations

About This Book

A practical guide to learning data structures simply and easilyAbout This Book• This book is a very practical, friendly, and useful guide that will help you analyze problems and choose the right data structures for your solution• Learn to recognize data patterns for determining which structures apply to a given problem• Explore the unique rules or "gotchas" that will help you become an excellent programmerWho This Book Is ForIf you're self-taught programmers in any language who wants to gain a solid understanding of data structures and how to use them to solve real-world problems in your day-to-day development work, then this book is for you.What You Will Learn• A rapid overview of data types, applications for each type, best practices and high-level variations between platforms• Review the most common data structures and build working examples in the languages used for mobile platform software development• Understand advanced data structure concepts such as generic collections, searching and sorting algorithms, and recursion• Learn to use Stacks (LIFO) and queues (FIFO) in your daily application• Add/remove objects and nest arrays and dictionaries within another dictionary and understand why such architecture is often preferred or necessary• Get acquainted with the tree structures such as heap, binary, and graphs, apply them to work• Unleash the power of different sorting techniques such as bubble sort, quick sort, merge sort, insertion sort, and radix sort• Perform searching operations on arrays, heaps, graphs, and binary trees in different languagesIn DetailIf you want to learn different data structures and their real-world applications quickly through practical examples, then Everyday Data Structures is for you. This book can introduce you to new data structures and their potential applications through examples in languages common to mobile software development on the most popular platforms. The examples are presented with real-world concepts using language that everyone will understand.This book is logically divided into two parts; the first one covers the basic data structures that are built into most languages such as Objective-C, C#, Java, and Swift. It will cover detailed analysis of the common data structures such as arrays, lists, stacks, Queues, and heaps, typical applications, and specific concerns for each language. Each chapter will provide in-depth examples in several popular languages based on real-world applications. The second part will cover more advanced data structures such as generic collections, sorting, searching, and recursion and ways to use those structures in everyday applications.Style and approachThis is a practical, result-focused guide, which is easy to follow, but also fast-paced and really satisfying with full of examples.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Everyday Data Structures an online PDF/ePUB?
Yes, you can access Everyday Data Structures by William Smith in PDF and/or ePUB format, as well as other popular books in Informatik & Programmierung. We have over one million books available in our catalogue for you to explore.

Information

Year
2017
ISBN
9781787129832
Edition
1

Everyday Data Structures


Everyday Data Structures

Copyright Š 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: March 2017
Production reference: 1080317
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78712-104-1
www.packtpub.com

Credits

Author
William Smith
Copy Editor
Pranjali Chury
Reviewer
Aditya Abhay Halabe
Project Coordinator
Vaidehi Sawant
Commissioning Editor
David Barnes
Proofreader
Safis Editing
Acquisition Editor
Shweta Pant
Indexer
Aishwarya Gangawane
Content Development Editor
Zeeyan Pinheiro
Graphics
Abhinash Sahu
Technical Editors
Pavan Ramchandani
Pratish Shetty
Production Coordinator
Shraddha Falebhai

About the Author

William Smith has been writing software since 1988, but he began his professional career in the environmental field with degrees in Environmental Science and Business Administration. While working in this field, William continued writing software as a hobbyist before returning to the University of Maryland for a degree in Computer Science.
William currently works as an independent software engineer and author. He is the owner of Appsmiths LLC, a development and consulting firm concentrating on mobile application and game development using native tools as well as cross-platform tools, such as Xamarin and Monogame.
William lives in rural West Virginia with his beautiful wife and four sons, where they enjoy hunting, fishing, and camping as a family.

About the Reviewer

Aditya Abhay Halabe is a full-stack web application developer at Springer Nature's technology division. His primary technology stack includes Scala, Java, Graph, and document store databases, micro-web services, multiple frameworks, and extreme programming practices. He is passionate about his work and likes to take on new challenges and responsibilities. Previously, Aditya worked as a consultant with Oracle and as a developer with John Deere Ltd.

www.PacktPub.com

For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
www.PacktPub.com
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.

Why subscribe?

  • Fully searchable across every book published by Packt
  • Copy and paste, print, and bookmark content
  • On demand and accessible via a web browser

Customer Feedback

Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review on this book's Amazon page at https://www.amazon.com/dp/1787121046.
If you'd like to join our team of regular reviewers, you can email us at [email protected]. We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!

Preface

Quite often, as software developers, when presented with a new task or challenge, we find ourselves grabbing code fragments or patterns that we are most familiar with. We typically make this choice because those fragments and patterns represent the shortest path between two points, namely, the client’s requirements and a deadline (also known as payday). However, this approach sometimes prevents us from learning new skills and ideas that will make us better and more efficient developers.
This book was written to give aspiring, new, or relatively inexperienced but busy developers an opportunity to step back and examine some of the fundamental concepts regarding data types and data structures. To that, we will examine how these types and structures are built, how they function, and how we can leverage them in our everyday applications. By doing so, we will gain new knowledge, skills, abilities and, hopefully, get some new ideas on how to leverage these basic components.

What this book covers

Chapter 1, Data Types: Foundational Structures, is a very brief overview of basic data types that comprise of data structures. This will be a rapid overview as even new programmers will already be familiar with some or most of these components. Attention will be paid to applications for each type, best practices, and a high-level comparison of any variations between platforms.
Chapter 2, Arrays: Foundational Collections, introduces you to the array data structure. This discussion will include specific details of the structure, including the typical applications, as well as specific concerns for each language. This is an important foundation chapter, as many of the subsequent data structures are built using arrays.
Chapter 3, Lists: Linear Collections, covers the specific details of the list data structure, including the most common functions associated with lists, typical applications for lists, and specific concerns for each language.
Chapter 4, Stacks: LIFO Collections, introduces you to the stack data structure. In this chapter, the reader will learn the specific details of the structure including the most common functions associated with stacks, typical applications for stacks, and specific concerns for each language.
Chapter 5, Queues: FIFO Collections, talks about the specific details of the queue data structure, including the most common functions associated with queues, typical applications for queues, and specific concerns for each language.
Chapter 6, Dictionaries: Keyed Collections, delves into the specific details of the dictionary data structure, including the most common functions associated with dictionaries, typical applications for dictionaries, and specific concerns for each language.
Chapter 7, Sets: No Duplicates, discusses the specific details of the set data structure, including the foundations of set theory; the most common functions associated with sets, typical applications for sets, and specific concerns for each language.
Chapter 8, Structures: Complex Types, explores the specific details of structures or the struct data structure, including most common functions associated with structs, typical applications for structs, and specific concerns for each language.
Chapter 9, Trees: Non-Linear Structures, talks about the specific details of the abstract tree structure with particular emphasis on the binary tree. This discussion will include an examination of the most common functions associated with trees, typical applications for trees, and specific concerns for each language.
Chapter 10, Heaps: Ordered Trees, delves into the specific details of the heap data structure, including the most common functions associated with heaps, typical applications for heaps, and specific concerns...

Table of contents