
40 Algorithms Every Programmer Should Know
Hone your problem-solving skills by learning different algorithms and their implementation in Python
Imran Ahmad(Author)
Packt Publishing
Published on 12. June 2020
Book
Paperback/Softback
382 pages
978-1-78980-121-7 (ISBN)
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 DescriptionAlgorithms 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 forThis 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.
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 DescriptionAlgorithms 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 forThis 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.
More details
Language
English
Place of publication
Birmingham
United Kingdom
Target group
Professional and scholarly
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 21 mm
Weight
712 gr
ISBN-13
978-1-78980-121-7 (9781789801217)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

Imran Ahmad
40 Algorithms Every Programmer Should Know
Hone your problem-solving skills by learning different algorithms and their implementation in Python
E-Book
06/2024
1st Edition
Packt Publishing Limited
€25.49
Available for download
Person
Imran Ahmad has been a part of cutting-edge research about algorithms and machine learning for many years. He completed his PhD in 2010, in which he proposed a new linear programming-based algorithm that can be used to optimally assign resources in a large-scale cloud computing environment. In 2017, Imran developed a real-time analytics framework named StreamSensing. He has since authored multiple research papers that use StreamSensing to process multimedia data for various machine learning algorithms. Imran is currently working at Advanced Analytics Solution Center (A2SC) at the Canadian Federal Government as a data scientist. He is using machine learning algorithms for critical use cases. Imran is a visiting professor at Carleton University, Ottawa. He has also been teaching for Google and Learning Tree for the last few years.
Content
Table of Contents
Overview of Algorithms
Data Structures used in Algorithms
Sorting and Searching Algorithms
Designing Algorithms
Graph Algorithms
Unsupervised Machine Learning Algorithms
Traditional Supervised Learning Algorithms
Neural Network Algorithms
Algorithms for Natural Language Processing
Recommendation Engines
Data Algorithms
Cryptography
Large Scale Algorithms
Practical Considerations
Overview of Algorithms
Data Structures used in Algorithms
Sorting and Searching Algorithms
Designing Algorithms
Graph Algorithms
Unsupervised Machine Learning Algorithms
Traditional Supervised Learning Algorithms
Neural Network Algorithms
Algorithms for Natural Language Processing
Recommendation Engines
Data Algorithms
Cryptography
Large Scale Algorithms
Practical Considerations