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 real-world 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 real-world 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 compute-intensive tasks.
By the end of this book, you'll have become adept at solving real-world 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 problem-solving 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 cutting-edge 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.
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
- Anomaly-detection 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
- Large-Scale 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
50 Algorithms Every Programmer Should Know - Second Edition
Delve into the realm of generative AI and large language models (LLMs) while exploring modern deep …
book
Grokking Algorithms
Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms …
video
Data Structures and Algorithms: The Complete Masterclass
With the knowledge of data structures and algorithms at your fingertips, you can write efficient computer …
book
Domain-Driven Design: Tackling Complexity in the Heart of Software
“Eric Evans has written a fantastic book on how you can make the design of your …