A knowledge of data structures and the algorithms that bring them to life is the key to
building successful data applications. With this knowledge, we have a powerful way to
unlock the secrets buried in large amounts of data. This skill is becoming more important in
a data-saturated world, where the amount of data being produced dwarfs our ability to
analyze it. In this book, you will learn the essential Python data structures and the most
common algorithms. This book will provide basic knowledge of Python and an insight into
the exciting world of data algorithms. We will look at algorithms that provide solutions to
the most common problems in data analysis, including sorting and searching data, as well
as being able to extract important statistics from data. With this easy-to-read book, you will
learn how to create complex data structures such as linked lists, stacks, and queues, as well
as sorting algorithms such as bubble sort and insertion sort. You will learn the common
techniques and structures used in tasks such as preprocessing, modeling, and transforming
data. We will also discuss how to organize your code in a manageable, consistent, and
extendable way. You will learn how to build components that are easy to understand,
debug, and use in different applications.
A good understanding of data structures and algorithms cannot be overemphasized. It is an
important arsenal to have in being able to understand new problems and find elegant
solutions to them. By gaining a deeper understanding of algorithms and data structures,
you may find uses for them in many more ways than originally intended. You will develop
a consideration for the code you write and how it affects the amount of memory and
CPU cycles to say the least. Code will not be written for the sake of it, but rather with a
mindset to do more using minimal resources. When programs that have been thoroughly
analyzed and scrutinized are used in a real-life setting, the performance is a delight to
experience. Sloppy code is always a recipe for poor performance. Whether you like
algorithms purely from the standpoint of them being an intellectual exercise or them
serving as a source of inspiration in solving a problem, it is an engagement worthy of
pursuit.
The Python language has further opened the door for many professionals and students to
come to appreciate programming. The language is fun to work with and concise in its
description of problems. We leverage the language's mass appeal to examine a number of
widely studied and standardized data structures and algorithms.
The book begins with a concise tour of the Python programming language. As such, it is not
required that you know Python before picking up this book.