Algorithms in Artificial Intelligence and Machine Learning: Discover Types, Functions, Characteristics, Applications + Much More ...!!
Prof. (Dr.) D G Mahto
Director, Professor, HEI Builder I 10xTop Writer, Consultant, Editor I PhD I15+ FDPs-IIT, NIT, IIIT, edX I16+Memb.I Expert on Lean6σ, SCM, PIE, AI, IoT, 4IR I Mentored 9700+...Eager ? “Shaping the Now, Defining the New”
Abstract:?
Algorithms are a crucial part of artificial intelligence (AI) because they provide instructions for how AI technology thinks and reacts to data. Here are some examples of AI algorithms:?
?Reinforcement learning?algorithm
Algorithms that learn on their own and get smarter with use by reinforcing the learnings of a previously analyzed output onto newer analysis.?
?Neural network Algorithm?
An algorithm that takes information, runs it through a neural network, and provides the results. Neural networks can be retrained until they learn to provide the correct response.?
?Deep learning?algorithm
Algorithms based on the structure and function of the human brain. For example, deep learning algorithms can be used to create AI art by training the algorithm on a dataset of existing artworks.?
?K-nearest neighbors (KNN)?algorithm
A popular algorithm that is easy to understand and interpret, but is often as accurate or more accurate than more complicated algorithms.?
?Logistic regression?algorithm
A popular algorithm that can provide binary results, meaning it can predict the outcome and specify one of two classes of the y value.?
?Support vector machine (SVM)?algorithm
An algorithm that can be used for classification or regression, but is most often used for classification.?
?Breadth-first search (BFS)?algorithm
A graph search algorithm that starts searching from the root node and expands the successor node before expanding further along breadthwise.?
?Depth first search (DFS)?algorithm
An algorithm for traversing or searching a tree or graph.?
Keywords:
Algorithms, Reinforcement learning,??K-Nearest Neighbors (KNN) Algorithm, RNN, BFS, DFS, Q learning, Neuralink development Network
Learning Outcomes:
1. What's an Algorithm in Artificial Intelligence?
2. List of Supervised Learning algorithms.
3.?List of Unsupervised Learning algorithms.
4. List of Semi Supervised Learning algorithms.
5.?List of Self Supervised Learning algorithms.
6. List of Reinforcement Learning algorithms.
7. Brief of?Reinforcement learning?Algorithms
8. Brief of Neural network Algorithm?
9. Brief of Deep learning algorithms
10. Brief of K-nearest neighbors (KNN) algorithm
11.?Brief of Logistic Regression Algorithms?
12. Brief of Support vector machine (SVM)?algorithm
13.?Brief of Breadth First Search (BFS) algorithm
14.?Brief of Depth First? Search?(DFS) algorithm
15.?Brief of Q- learning algorithm
16. What's the characteristics of algorithms?
17.?What's the properties of algorithms?
18.?What's the functions of algorithms?
19. Advantages of algorithms
20 Disadvantages of algorithms
21. Application's of algorithms
22. Conclusions
23. FAQs
References?
1. What's an Algorithm in Artificial Intelligence?
An algorithm is a set of instructions that tells a computer how to learn, analyze data, and make decisions in artificial intelligence (AI). Algorithms are the building blocks of AI, and without them, AI wouldn't exist.?
?Here are some things to know about AI algorithms:?
?How they work
Algorithms are like an instruction manual that tells a computer what to do and when to do it. They provide instructions for AI to think and react to data in a way that's similar to how humans process information.?
?How they compare to algebra
AI algorithms are much more complex than what people learn in algebra.?
?Types of algorithms
Some types of AI algorithms include regression, which is used to understand the relationship between variables, and random forests, which combine multiple algorithms to generate better results.?
?How they're used
AI algorithms are used in tasks like decision-making, pattern recognition, and learning from experience.?
?So, the definition of an algorithm is “a set of instructions to be followed in calculations or other operations.” This applies to both mathematics and computer science. So, at the essential level, an AI algorithm is the programming that tells the computer how to learn to operate on its own.
2. List of Supervised Learning algorithms.
Some supervised learning algorithms include:?
?Linear regression
A simple algorithm that models a linear relationship between a continuous output variable and one or more explanatory variables. It is used to predict and forecast values within a continuous range, like sales numbers or prices.?
?Logistic regression
Also known as "logit regression", this algorithm is used for binary classification tasks, like deciding if an image fits into a class.?
?Decision trees
A tree-like structure of decision rules that are applied to input features to predict possible outcomes.?
?Random forest
A popular algorithm that builds on the drawbacks of overfitting in decision tree models.?
?Support vector machines
A widely used supervised learning algorithm.?
?Gradient boosting
A boosting algorithm that combines the prediction of several base estimators to improve robustness.?
?Singular value decomposition (SVD)
Models that break complex data sets into easier-to-understand bits by separating them into their fundamental parts. SVD is used for image compression and noise removal.?
?3.?List of Unsupervised Learning algorithms.
Here are some unsupervised learning algorithms:?
?Clustering: This algorithm groups data into clusters based on similarities. There are several types of clustering, including exclusive, overlapping, and hierarchical.?
?Principal Component Analysis (PCA): This statistical procedure uses an orthogonal transformation to convert a set of correlated variables into a set of linearly uncorrelated variables.?
?Association rule: This algorithm finds rules that describe large portions of data, such as market basket analysis.?
?K-Means Clustering: This is a popular unsupervised learning algorithm.?
?Hierarchical Clustering: This is a popular unsupervised learning algorithm.?
?t-Distributed Stochastic Neighbor Embedding (t-SNE): This is a popular unsupervised learning algorithm.?
?Autoencoders: This is a popular unsupervised learning algorithm.?
?Deep Belief Networks: This is an unsupervised machine learning algorithm.?
?Restricted Boltzmann Machine (RBM): This is an unsupervised machine learning algorithm.?
?Hierarchical Temporal Memory (HTM): This is an unsupervised machine learning algorithm.?
?Convolutional Neural Networks (CNNs): This is an unsupervised machine learning algorithm.?
?Support Vector Machines (SVMs): This is an unsupervised machine learning algorithm.?
?Unsupervised learning finds many real-life applications, such as data exploration, customer segmentation, recommender systems, and target marketing campaigns.?
4. List of Semi Supervised Learning algorithms.
Some semi-supervised learning algorithms include:?
?Reinforcement learning
A machine is told what it is doing correctly so it continues to do the same kind of work.?
?Naive Bayes
This algorithm can be adjusted to be trained in a semi-supervised setting.?
Self-training
A common semi-supervised learning strategy that uses reliable predictions to re-train a deep learning architecture.?
5.?List of Self Supervised Learning algorithms.
Here are some self-supervised learning algorithms:
Autoencoders: A self-supervised learning algorithm
Simple Contrastive Learning (SimCLR): A self-supervised learning algorithm
Pre-trained Language Models (PTM): A self-supervised learning algorithm
Deep InfoMax: A self-supervised learning algorithm
Contrastive Learning: A self-supervised learning algorithm
Generative Models: A self-supervised learning algorithm
Pretext Tasks: A self-supervised learning algorithm
Clustering: A self-supervised learning algorithm?
?Self-supervised learning is a type of unsupervised learning that uses data to train a pretext task. This task helps the learning algorithm identify patterns in the data. Self-supervised representation learning is especially effective in natural language processing.?
6. List of Reinforcement Learning algorithms.
Here are some popular reinforcement learning algorithms:?
Q-learning
An algorithm that teaches an AI to take actions based on prior experience by rewarding or punishing actions.?
?Policy gradients
A class of algorithms that estimates a gradient for a policy network to model action probabilities.?
?Proximal policy optimization (PPO)
An efficient and stable on-policy algorithm that learns from actions taken within the current policy.?
Deep reinforcement learning
A type of reinforcement learning that uses deep neural networks to help agents make decisions.?
?Other popular reinforcement learning algorithms include SARSA, DDPG, A2C, and DQN.?
?Reinforcement learning is a type of machine learning that uses algorithms to learn from outcomes and decide on actions. It's inspired by behavioral psychology and learns by experience, rather than looking for patterns to make predictions.?
?When comparing reinforcement learning algorithms, you can consider things like:
Sample efficiency: How many samples are needed to train a good policy
Stability and convergence: How easy and fast the model converges
Generalization: Will the model generalize to other tasks
Exploration: How well does it explore the action space?
?7. Brief of?Reinforcement learning?Algorithms
Reinforcement learning
Algorithms
Reinforcement learning algorithms are a type of machine learning algorithm that help find the best action to take in a given situation to maximize reward.?
Here are some examples of reinforcement learning algorithms:?
?Q-learning
This algorithm tries to find the best next action to take in a given state to maximize reward. The "Q" in Q-learning stands for quality, which is how valuable an action is.?
?Deep Q-Networks (DQN)
This deep reinforcement learning algorithm uses a neural network to approximate the action-value function. The neural network takes in a state as input and outputs the expected reward of each action.?
?Policy gradient
This algorithm estimates a gradient for a policy network that acts as a function approximator. The goal is to train the policy network's parameters to model action probabilities.?
SVM
This algorithm combines the Advantage Actor-Critic Method with SVM classification. The result of the SVM classification is used as the action selected by the Actor.?
?8. Brief of Neural network Algorithm?
Neural networks are a type of machine learning algorithm that uses a series of algorithms to mimic the human brain's process of recognizing patterns in data. Neural networks are made up of interconnected nodes, or neurons, that are organized in layers. These layers allow the network to process information and learn from mistakes, which helps it improve over time.?
?Here are some things to know about neural networks:?
?How they work
Neural networks can adapt to changing input, so they can generate the best results without needing to be redesigned.?
?How they're used
Neural networks are used to solve complex problems, such as recognizing faces and summarizing documents.?
?How they're trained
Gradient descent is a recommended algorithm for training neural networks with many parameters.?
?How they're different from traditional algorithms
Convolutional neural networks (CNNs) use automated learning to optimize filters, which is different from traditional algorithms that use hand-engineered filters.?
9. Brief of Deep learning algorithms
Some deep learning algorithms include:?
?Convolutional neural networks
These algorithms take an image as input and assign weights and biases to various objects in the image.?
?Support vector machines (SVMs)
These algorithms perform supervised learning for classification or regression of data groups.?
?Recurrent neural networks (RNNs)?algorithm
These algorithms are good at processing sequential data, making them useful for text generation, machine translation, and speech recognition.?
?Logistic regression?algorithm
This algorithm is used as a classifier in the final layer of a deep learning algorithm. It's fast and simple, making it useful for large datasets.?
?Long short-term memory networks (LSTMs)
These algorithms are designed for time series forecasting. They use memory states and feedback connections.?
10. Brief of K-nearest neighbors (KNN)?algorithm
The k-nearest neighbors (KNN) algorithm is a machine learning algorithm that uses proximity to classify or predict the grouping of data points:?
?How it works
KNN stores training samples and calculates the distances to the nearest neighbors to make predictions for new data points.?
?How it's used
KNN is used in applications such as image recognition, fraud detection, and recommendation systems.?
?How it's different
KNN is a non-parametric model that memorizes the training dataset without deriving a discriminative function from it.?
?How it's used for classification
KNN assigns a new data point to the majority set of its neighbors.?
?How it's used for regression
KNN makes a prediction based on the average of the values closest to the query point.?
?What K represents
K represents the number of nearest neighbors considered in the classification or regression problem.?
?What NN stands for
NN stands for the nearest neighbors to the number chosen for k.?
?How to choose K
Increasing the value of K makes predictions more stable and more likely to be accurate, up to a certain point. For majority voting, K is usually made an odd number to have a tiebreaker.?
11. Brief of Logistic Regression Algorithms?
Logistic regression is a statistical model and machine learning algorithm that uses a sigmoid function to estimate the probability of a binary outcome:?
?How it works
Logistic regression uses a sigmoid function to model the relationship between a dependent variable and independent variables. The sigmoid function maps any real number to a value between 0 and 1, which is ideal for binary classification tasks.?
?What it's used for
Logistic regression is used to classify data into categories or predict the risk of a certain outcome. For example, it can be used to classify emails as spam or not spam, or to predict the risk of a customer defaulting on a loan.?
?How it's implemented
Logistic regression uses optimization techniques to find the best coefficients for the independent variables. A hyperplane is then used to separate the two categories.?
?Why it's useful
Logistic regression is a simple and commonly used algorithm that's easy to implement. Its fundamental concepts are also useful in deep learning.?
12. Brief of Support vector machine (SVM)?algorithm
A support vector machine (SVM) is a supervised learning algorithm that uses a hyperplane to classify data into categories:
Training
The algorithm analyzes labeled input data and maps it to output categories in a multi-dimensional space called the hyperplane. The goal is to maximize the distance between each class in the hyperplane.
Prediction
The algorithm maps new examples into the hyperplane and assigns them to one category or another.?
?SVMs are particularly good at solving binary classification problems, where data is classified into two groups. They can also be used to model complex decision boundaries with less overfitting than other methods.?
?Here are some other things to know about SVMs:?
?History: Vladimir N. Vapnik and his colleagues developed SVMs in the 1990s.?
?Support vectors: The important data points that determine the hyperplane boundaries are called support vectors.?
?Support Vector Classifier (SVC): SVC is a specific implementation of the SVM algorithm that's designed for classification tasks.?
13. Brief of Breadth-first search (BFS)?algorithm
Breadth-first search (BFS) is an algorithm used to search a graph or tree data structure for a node that meets a set of criteria:?
?How it works
BFS starts at a selected node, called the source node, and explores all of its neighboring nodes before moving on to the next level of nodes.?
?Why it's useful
BFS is used to solve many problems, including finding the shortest path in a graph, solving puzzle games, and analyzing networks.?
?When it's used
BFS is the most commonly used approach for traversing graphs.?
?When it's called level-order traversal
When BFS is performed on a tree data structure, it's called a level-order traversal.?
?14. Depth first search (DFS) algorithm
Depth-first search (DFS) is an algorithm that searches a graph or tree data structure by exploring as far as possible down each branch before backtracking. It's a recursive algorithm that uses the backtracking principle to exhaustively search all nodes.?
?Here's how DFS works:
Start at the root node
Go as far as possible down a branch
Backtrack until you find an unexplored path
Explore the new path
Repeat until the entire graph is searched?
?DFS is used in a variety of applications, including:
Topological sorting
Scheduling problems
Graph cycle detection
Solving puzzles with one solution, like mazes or sudoku
Network analysis?
?To prevent visiting the same node more than once, you can mark nodes as you visit them. If you don't mark visited nodes, you might end up in an infinite loop.?
15. Brief of Q- learning algorithm?
??Q-learning is a machine learning algorithm that uses a table of Q-values to learn by exploring an environment and receiving rewards. Here are some related concepts:?
?Deep Q-learning
An extension of the Q-learning algorithm that uses a neural network to approximate Q-values. Deep Q-learning can scale to complex environments, such as games, and has achieved human-level performance in high-dimensional domains.?
?Nash Q-learning
A multi-agent reinforcement learning algorithm that can be used for node activity scheduling in wireless sensor networks.?
?Principle of optimality
A principle used in Q-learning that states that whatever the initial state and actions are, the remaining actions must be an optimal policy.?
?Q-table
A table of Q(s,a) values for all state-action pairs that is created and optimized by interacting with the environment.?
?16. What are the characteristics of an algorithm??
?Here are some characteristics of an algorithm:?
?Correctness: The algorithm should accurately solve the problem.?
?Efficiency: The algorithm should use resources and time optimally.?
?Clarity: The algorithm should be easy to understand and implement.?
领英推荐
?Input: The algorithm should have an input that is not zero.?
?Output: The algorithm should produce at least one output.?
?Clear instructions: The algorithm should have thorough and clear instructions.?
?Finiteness: The algorithm should have a finite number of steps and terminate.?
?Workability: The algorithm should be simple and straightforward, and should be executable with the available resources.?
?Language independent: The algorithm should not be dependent on any programming language.?
17. What's the functions of algorithms ?
Algorithms are mathematical procedures that describe a set of steps to solve a mathematical computation.
?Here are some examples of mathematical algorithms and functions:?
?Long division
A step-by-step procedure that is a common example of a mathematical algorithm.?
Chinese remainder theorem
An algorithm used in cryptography and astronomy that analyzes numbers by studying their remainders when divided by other numbers.?
?Exponential function
A mathematical function that is used to find exponential decay or exponential growth.?
?Optimization
A mathematical algorithm that calculates the best decisions to maximize value in a given set of circumstances.?
?Square root function
A function that returns the square root of a number value.?
?Calculus
A mathematical function that integrates an equation into a simpler form.?
?Combinatorics
A branch of mathematics that deals with tasks related to ordering or sampling.?
18. What's the properties of algorithms
?Algorithms have several properties that make them useful for solving problems and performing tasks efficiently:?
?Input: Algorithms have well-defined inputs that are specific to the type of algorithm.?
?Output: Algorithms produce well-defined outputs that are related to the inputs.?
?Definiteness: Algorithms have clear, detailed steps that are unambiguous.?
?Effectiveness: Algorithms have steps that are doable, not redundant, and produce the desired results.?
?Finiteness: Algorithms have a finite number of steps before they end.?
?Sequence: Algorithms follow a set of orderly, understandable, pre-defined steps.?
?Accuracy: Algorithms indicate a clear, specific, logical order of instructions for executing each step.?
?Completeness: Algorithms take into account all the possibilities and presentations of the problem to execute the exact solution.?
?Algorithms are sequences of steps that a computer executes to take an input and transform it into a target output.?
?19. Advantages of Algorithms
Algorithms have several advantages, including:?
?Efficiency: Algorithms can streamline processes to find faster, more optimized solutions.?
?Reproducibility: Algorithms produce consistent results when given the same inputs.?
?Problem-solving: Algorithms can provide systematic approaches to solve complex problems.?
?Scalability: Many algorithms can handle larger datasets and scale with increasing input sizes.?
?Automation: Algorithms can automate tasks, reducing the need for manual intervention.?
?Accuracy: Algorithms are designed to be accurate and reliable, and are not prone to human error.?
?Ease of understanding: Algorithms are a step-wise representation of a solution to a problem, and are not dependent on any programming language.?
?Ease of debugging: Each step in an algorithm has its own logical sequence, making it easy to debug.?
?Ease of conversion to a program: Algorithms break problems down into smaller pieces or steps, making it easier for programmers to convert them into actual programs.?
20. Disadvantages of algorithms?
1. Alogorithms is Time consuming.
2. Difficult to show Branching and Looping in Algorithms.
3. Big tasks are difficult to put in Algorithms.
21. Applications of algorithms
Algorithms play a crucial role in various fields and have many applications. Some of the key areas where algorithms are used include:
Computer Science: Algorithms form the basis of computer programming and are used to solve problems ranging from simple sorting and searching to complex tasks such as artificial intelligence and machine learning.
Mathematics: Algorithms are used to solve mathematical problems, such as finding the optimal solution to a system of linear equations or finding the shortest path in a graph.
Operations Research: Algorithms are used to optimize and make decisions in fields such as transportation, logistics, and resource allocation.
Artificial Intelligence: Algorithms are the foundation of artificial intelligence and machine learning, and are used to develop intelligent systems that can perform tasks such as image recognition, natural language processing, and decision-making.
Data Science: Algorithms are used to analyze, process, and extract insights from large amounts of data in fields such as marketing, finance, and healthcare.
These are just a few examples of the many applications of algorithms. The use of algorithms is continually expanding as new technologies and fields emerge, making it a vital component of modern society.
Algorithms can be simple and complex depending on what you want to achieve.
22. Conclusions?
There are several types of algorithms that can be used to solve problems, including:?
Sorting algorithms
Can be used to sort customer data, financial reports, and database information.?
Greedy algorithms
These algorithms are used to solve optimization problems by making the best choice at each step.?
Divide and conquer
This algorithm breaks a problem down into smaller sub-problems, solves each of them, and then combines the solutions to get the solution to the original problem.?
Dynamic programming
This algorithm breaks down an optimization problem into smaller sub-problems and uses the optimal solution to the sub-problems to find the optimal solution to the original problem.?
Backtracking
This algorithm finds solutions to computational problems by building candidates to the solution and abandoning those that can't lead to a valid solution.?
Searching algorithms
These algorithms find or access data from a collection of items stored in a data structure.?
Here are some steps to solve a complex algorithm:
Understand the problem statement
Identify the appropriate algorithm
Plan the solution
Implement the algorithm
Analyze time and space complexity
Test and debug
Optimize and refine
Document the solution?
23. FAQs
Q. Why do we use Algorithms?
Ans.?
Algorithms are fundamentals of computer science. They are used to give an effective solution to the problem statement. A good algorithm uses minimal resources and produces output in significantly less time. You check the problem statement carefully and create an algorithm step by step, not at once. However, let’s just check some of the major usages of Algorithms.
It helps in problem-solving by providing efficient solutions to complex problems. It makes the code faster by optimizing it.
It helps determine the computational complexity of a problem statement and helps quantify these difficulties.
It is used for sorting and searching large datasets efficiently. Some of the significant sorting algorithms are quick sort and merge sort.?
It helps in finding meaningful patterns and information from a large dataset quickly.
A practical algorithm ensures that with the growth of input size, processing time or resources are minimal. This is important for handling large datasets.
It is used in decision-making processes.
References
Introduction to Algorithms
Ronald Rivest, 1989
The Algorithm Design Manual
Steven Skiena, 1997
Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People
2015
Data Structures and Algorithms Made Easy : Data Structure and Algorithmic Puzzles
Narasimha Karumanchi, 2011
Algorithm Design
Jon Kleinberg, 2005
Algorithms Unlocked
Thomas H. Cormen, 2013
Data Structures and Algorithms Made Easy: To All My Readers : Concepts, Problems, Interview Questions
Narasimha Karumanchi, 2016
Introduction to algorithms
Udi Manber, 1989
Problem Solving with Algorithms and Data Structures Using Python
Bradley N Miller, 2006
Advanced Data Structures
Peter Brass, 2008
Algorithms in a nutshell
George T. Heineman, 2008
Algorithms
Christos Papadimitriou, 2006
Python Algorithms: Mastering Basic Algorithms in the Python Language
Magnus Lie Hetland, 2010
Automate This
Christopher Steiner, 2012
The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
Pedro Domingos, 2015
Data structures and algorithms in C++
Adam Drozdek, 1995
Algorithms to Live By: The Computer Science of Human Decisions
Thomas L. Griffiths, 2016
Data Structure & Algorithms In Java
Robert Lafore, 1999
Estructuras de Datos y Algoritmos
Alfred Aho, 1983
Algorithms for Interviews: A Problem Solving Approach
Amit Prakash, 2010
Algorithms Illuminated: The basics. Part 1
Tim Roughgarden, 2017
Python for Algorithmic Trading Cookbook: Recipes for Designing, Building, and Deploying Algorithmic Trading Strategies with Python
Jason Strimpel, 2024
Introduction to Algorithms, Fourth Edition
Ronald Rivest, 2022
Reinforcement Learning: An Introduction
Andrew Barto, 1992
Data Structures and Algorithms Made Easy in Java: Data Structure and Algorithmic Puzzles
Narasimha Karumanchi, 2011
A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills
Jay Wengrow, 2017
Data Structure and Algorithmic Thinking with Python
Narasimha Karumanchi, 2015
Introduction to the Design & Analysis of Algorithms
Anany Levitin, 2003
Dynamic Programming for Coding Interviews: A Bottom-Up approach to problem solving
Meenakshi, 2017
Mastering Search Algorithms with Python: A Practical Guide for Efficient Data Search (English Edition)
Pooja Baraskar, 2024
Data Structures and Algorithms in Java
Adam Drozdek, 2004
The Man Who Solved the Market: How Jim Simons Launched the Quant Revolution SHORTLISTED FOR THE FT & MCKINSEY BUSINESS BOOK OF THE YEAR AWARD 2019
Gregory Zuckerman, 2019
Beginning Python
Magnus Lie Hetland, 2005
Grokking Algorithms, Second Edition
Aditya Y. Bhargava, 2024
Weapons of Math Destruction
Cathy O'Neil, 2016
The Art of Computer Programming
Donald Knuth, 1968
Computer Science Distilled: Learn the Art of Solving Computational Problems
Wladston Ferreira Filho, 2017
Handbook of Computer Programming with Python
2022
Data structures and algorithms in C++
Michael T. Goodrich, 2003
Data Structures and Algorithms in Python
Michael H. Goldwasser, 2013
Coding Interview Questions
Narasimha Karumanchi, 2012
The Man Who Solved the Market: How Jim Simons Launched the Quant Revolution
Gregory Zuckerman, 2019
Foundations of Algorithms Using Java Pseudocode
Richard E. Neapolitan, 2004
How to Think About Algorithms
Jeff Edmonds, 2008
Problems for the day before your coding interview: Crush all Algorithmic Problems
Aditya Chatterjee, 2020
Python for Algorithmic Trading
YVES J. HILPISCH, 2020
Algorithmic Puzzles
Maria Levitin, 2011
Binary Tree Problems: Must for Interviews and Competitive Coding
Ue Kiao, 2021
Data Structures and Algorithms For GATE: Solutions to All Previous GATE Questions Since 1991
Narasimha Karumanchi, 2011
The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript
Al Sweigart, 2022