Book description
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental algorithms, such as sorting and searching, to modern algorithms used in machine learning and cryptography
Key Features
 Learn the techniques you need to know to design algorithms for solving complex problems
 Become familiar with neural networks and deep learning techniques
 Explore different types of algorithms and choose the right data structures for their optimal implementation
Book Description
Algorithms have always played an important role in both the science and practice of computing. Beyond traditional computing, the ability to use algorithms to solve realworld problems is an important skill that any developer or programmer must have. This book will help you not only to develop the skills to select and use an algorithm to solve realworld problems but also to understand how it works.
You'll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, such as searching and sorting, with the help of practical examples. As you advance to a more complex set of algorithms, you'll learn about linear programming, page ranking, and graphs, and even work with machine learning algorithms, understanding the math and logic behind them. Further on, case studies such as weather prediction, tweet clustering, and movie recommendation engines will show you how to apply these algorithms optimally. Finally, you'll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for computeintensive tasks.
By the end of this book, you'll have become adept at solving realworld computational problems by using a wide range of algorithms.
What you will learn
 Explore existing data structures and algorithms found in Python libraries
 Implement graph algorithms for fraud detection using network analysis
 Work with machine learning algorithms to cluster similar tweets and process Twitter data in real time
 Predict the weather using supervised learning algorithms
 Use neural networks for object detection
 Create a recommendation engine that suggests relevant movies to subscribers
 Implement foolproof security using symmetric and asymmetric encryption on Google Cloud Platform (GCP)
Who this book is for
This book is for programmers or developers who want to understand the use of algorithms for problemsolving and writing efficient code. Whether you are a beginner looking to learn the most commonly used algorithms in a clear and concise way or an experienced programmer looking to explore cuttingedge algorithms in data science, machine learning, and cryptography, you'll find this book useful. Although Python programming experience is a must, knowledge of data science will be helpful but not necessary.
Publisher resources
Table of contents
 Title Page
 Copyright and Credits
 Dedication
 About Packt
 Contributors
 Preface
 Section 1: Fundamentals and Core Algorithms
 Overview of Algorithms
 Data Structures Used in Algorithms
 Sorting and Searching Algorithms
 Designing Algorithms
 Graph Algorithms
 Section 2: Machine Learning Algorithms

Unsupervised Machine Learning Algorithms
 Introducing unsupervised learning
 Understanding clustering algorithms
 Dimensionality reduction
 Association rules mining
 Practical application– clustering similar tweets together
 Anomalydetection algorithms
 Summary

Traditional Supervised Learning Algorithms
 Understanding supervised machine learning

Understanding classification algorithms
 Presenting the classifiers challenge
 Evaluating the classifiers
 Specifying the phases of classifiers
 Decision tree classification algorithm
 Understanding the ensemble methods
 Logistic regression
 The SVM algorithm
 Understanding the naive Bayes algorithm
 For classification algorithms, the winner is...
 Understanding regression algorithms
 Practical example – how to predict the weather
 Summary
 Neural Network Algorithms
 Algorithms for Natural Language Processing

Recommendation Engines
 Introducing recommendation systems
 Types of recommendation engines
 Understanding the limitations of recommender systems
 Areas of practical applications
 Practical example – creating a recommendation engine
 Summary
 Section 3: Advanced Topics
 Data Algorithms

Cryptography
 Introduction to Cryptography
 Understanding the Types of Cryptographic Techniques
 Example – Security Concerns When Deploying a Machine Learning Model
 Summary
 LargeScale Algorithms
 Practical Considerations
 Other Books You May Enjoy
Product information
 Title: 40 Algorithms Every Programmer Should Know
 Author(s):
 Release date: June 2020
 Publisher(s): Packt Publishing
 ISBN: 9781789801217
You might also like
book
HandsOn Machine Learning with ScikitLearn, Keras, and TensorFlow, 2nd Edition
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. …
book
Tiny Python Projects
The projects are tiny, but the rewards are big: each chapter in Tiny Python Projects challenges …
video
Python Fundamentals
51+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …
book
Essential Algorithms, 2nd Edition
A friendly introduction to the most useful algorithms written in simple, intuitive English The revised and …