50Algorithms Every Programmer Should Know - Second Edition

by Imran Ahmad

Algorithm Data Structures

Book Details

Book Title

50Algorithms Every Programmer Should Know - Second Edition

Author

Imran Ahmad

Publisher

Packt Publishing

Publication Date

2023

ISBN

9781803247762

Number of Pages

539

Language

English

Format

PDF

File Size

5.4MB

Subject

Computers>Algorithms and Data Structures

Table of Contents

  • Cover
  • Copyright
  • Contributors
  • Table of Contents
  • Preface
  • Section 1: Fundamentals and Core Algorithms
  • Chapter 1: Overview of Algorithms
  • What is an algorithm?
  • Python packages
  • Algorithm design techniques
  • Performance analysis
  • Selecting an algorithm
  • Validating an algorithm
  • Summary
  • Chapter 2: Data Structures Used in Algorithms
  • Exploring Python built-in data types
  • Exploring abstract data types
  • Summary
  • Chapter 3: Sorting and Searching Algorithms
  • Introducing sorting algorithms
  • Introduction to searching algorithms
  • Practical applications
  • Summary
  • Chapter 4: Designing Algorithms
  • Introducing the basic concepts of designing an algorithm
  • Understanding algorithmic strategies
  • A practical application – solving the TSP
  • Presenting the PageRank algorithm
  • Understanding linear programming
  • Summary
  • Chapter 5: Graph Algorithms
  • Understanding graphs: a brief introduction
  • Graph theory and network analysis
  • Representations of graphs
  • Graph mechanics and types
  • Introducing network analysis theory
  • Understanding graph traversals
  • Case study: fraud detection using SNA
  • Summary
  • Section 2: Machine Learning Algorithms
  • Chapter 6: Unsupervised Machine Learning Algorithms
  • Introducing unsupervised learning
  • Understanding clustering algorithms
  • Steps of hierarchical clustering
  • Coding a hierarchical clustering algorithm
  • Understanding DBSCAN
  • Creating clusters using DBSCAN in Python
  • Evaluating the clusters
  • Dimensionality reduction
  • Association rules mining
  • Summary
  • Chapter 7: Traditional Supervised Learning Algorithms
  • Understanding supervised machine learning
  • Formulating supervised machine learning problems
  • Understanding classification algorithms
  • Decision tree classification algorithm
  • Understanding the ensemble methods
  • Logistic regression
  • The SVM algorithm
  • Bayes’ theorem
  • For classification algorithms, the winner is...
  • Linear regression
  • For regression algorithms, the winner is...
  • Practical example – how to predict the weather
  • Summary
  • Chapter 8: Neural Network Algorithms
  • The evolution of neural networks
  • Understanding neural networks
  • Training a neural network
  • Understanding the anatomy of a neural network
  • Defining gradient descent
  • Activation functions
  • Tools and frameworks
  • Choosing a sequential or functional model
  • Understanding the types of neural networks
  • Using transfer learning
  • Case study – using deep learning for fraud detection
  • Summary
  • Chapter 9: Algorithms for Natural Language Processing
  • Introducing NLP
  • Understanding NLP terminology
  • Cleaning data using Python
  • Understanding the Term Document Matrix
  • Introduction to word embedding
  • Implementing word embedding with Word2Vec
  • Case study: Restaurant review sentiment analysis
  • Applications of NLP
  • Summary
  • Chapter 10: Understanding Sequential Models
  • Understanding sequential data
  • Data representation for sequential models
  • Introducing RNNs
  • GRU
  • Introducing LSTM
  • Summary
  • Chapter 11: Advanced Sequential Modeling Algorithms
  • The evolution of advanced sequential modeling techniques
  • Exploring autoencoders
  • Understanding the Seq2Seq model
  • Understanding the attention mechanism
  • Delving into self-attention
  • Transformers: the evolution in neural networks after self-attention
  • LLMs
  • Summary
  • Section 3: Advanced Topics
  • Chapter 12: Recommendation Engines
  • Introducing recommendation systems
  • Types of recommendation engines
  • Understanding the limitations of recommendation systems
  • Areas of practical applications
  • Practical example – creating a recommendation engine
  • Summary
  • Chapter 13: Algorithmic Strategies for Data Handling
  • Introduction to data algorithms
  • Presenting the CAP theorem
  • Decoding data compression algorithms
  • Practical example: Data management in AWS: A focus on CAP theorem and compression algorithms
  • Summary
  • Chapter 14: Cryptography
  • Introduction to cryptography
  • Understanding the types of cryptographic techniques
  • Example: security concerns when deploying a machine learning model
  • Summary
  • Chapter 15: Large-Scale Algorithms
  • Introduction to large-scale algorithms
  • Characterizing performant infrastructure for large-scale algorithms
  • Strategizing multi-resource processing
  • Understanding theoretical limitations of parallel computing
  • How Apache Spark empowers large-scale algorithm processing
  • Using large-scale algorithms in cloud computing
  • Summary
  • Chapter 16: Practical Considerations
  • Challenges facing algorithmic solutions
  • Failure of Tay, the Twitter AI bot
  • The explainability of an algorithm
  • Understanding ethics and algorithms
  • Reducing bias in models
  • When to use algorithms
  • Summary
  • Packt page
  • Other Books You May Enjoy
  • Index