You are on page 1of 1

Algorithm/abstract problem Purpose Examples

Recursive Backtracking
Aldous-Broder
Wilsons
Maze Generation Anything needing mazes, often games or puzzles
Hunt and Kill
Binary Tree Maze Generator
Sidewinder
Solving linear simultaneous equations with n unknowns, eg
3x + 5y + z = 10
2x - y + 5z = -3
4x -2y - z = 6
Maths calculators, solving something with constraints where the end
Gaussian Elimination Adapt to find the inverse of an nxn matrix result is set but the amounts of each thing needed are not known
maximising linear inequalities with n unknowns, eg Optimisation
maximise x + y + 2z where This could be working out how much produce to make or each item to
3x + 5y + z <= 10 purchase of number of hours each person needs to work to maximise
2x - y + 5z <= -3 some function like profit.
Simplex 4x -2y - z <= 6 Simplex can minimise too but its trickier
EG you have 5 characters and 5 items and each character can hold 1
item but each character has a different score with each item. You want
Matching things based on individual scores to the best way to equip each character. You can create a grid of all the
Hungarian Algorithm optimise/maximise/minimise the total scores combinations.
Dijkstra's Path finding (using these algorithms means that you'll also be finding the shortest route from one place to another, mazes, route
A* search using a Graph data structure, which is also in the A-group) planning
Can be used to check if every point on a map is accessible, or if data
Graph/tree searching can be split into 2 groups
Check if a graph is complete Flood Filling images - https://www.techiedelight.com/flood-fill-algorithm/
Check if a graph is bipartite Counting number of parts of a disconnected graph - https://www.
Check if a graph is a tree (with no cycles) techiedelight.com/count-the-number-of-islands/
Depth First/Breadth First Search Tree Traversal
Chinese Postman problem finding the best route which uses every edge/road
Travelling Sales Person Finding the best route which uses every vertex/town
packing cars onto a ferry - each lane has a length of 10m and all of the
vehicles are different lengths. Can you fit all the cars into a ferry with 4
Placing items in different boxes of a maximum size to minimise lanes?
the number of boxes needed Maximise the gold value of all of the item that you can fit in you inventory
Knapsack Problem/Bin Packing/Change Placing items in one box of a maximum size to maximise the Change giving problem - giving the right amount of change in the fewst
Making value of the items, limited by the size of each item number of coins
Least Squares Regression Finding a straight line or polynomial of best fit for data predicting data from other data, setting targets based on data
Newton's Forward Interpolation/Legrange
interpolation fitting a curve to a set of data points predicting data from other data, setting targets based on data
Prims Minimum Spanning Tree - finding the edges which make sure
that the graph is connected (there is a path from any vertex to
Kruskals any other) using the smallest weight)
Content Based Filtering / Vector space
model Recommending things based on lots of options recommending films/music/games/restaurants
the post-office problem, referring to an application of assigning to a
residence the nearest post office
Pattern recognition
Recommendation systems, e.g. see Collaborative filtering
finding a piece of data from a set which is closest or most Spell checking – suggesting correct spelling
Nearest Neighbour Search similar to an input Similarity scores for predicting career paths of professional athletes
Converting an equation from Infix to Postfix, which can then be Programming a calculator, where the user enters the equation (in infix
Shunting Yard evaluated notation) and the computer evaluates it
Secant Method/Method of False Position Solving equations iteratively
Recursive Matrix algorithms Finding the determinant of nxn matrices
Midpoint Rule/Trapezium Rule/Simpsons
Rule Numerical Integration
This is a very efficient sorting algorithm with a large overhead which
makes it slow for a small input but much faster than bubblesort/insertion
Merge Sort Sorting Items sort/quicksort for large inputs
Quicksort
Quine–McCluskey / Karnaugh Maps Boolean Algebra Simplification
Ford-Faulkerson / Flow Augmentation Finding the maximum flow through a network Pipe flow games
Boyer-Moore String Search Algorithm Searching for substrings in strings
Simulations Various Mechanics, Predator/Prey models, traffic/foot traffic
Image Convolution
Edge Detection Image processing Making changes to images, bluring, finding items in a picture
Ray Tracing / Ray Marching / Signed
Distance Fields Generating photorealistic renderings of 3d scenes
Inverse Kinematics
Fast Fourier Transform How much is each frequency present in a sound/image file Analysing sound files or images, e.g. to create a sound equaliser
P, PI, PD, PID Controlers are used to control automated systems. UAV's
(from surveilance drones to missiles), Production facility controllers,
Stockflow control systems.

Having a system automatically apply corrections such that the Flight path simulation or Cat/mouse games.
PID Control Systems error function is minimized as efficiently as possible.
https://medium.com/techie-delight/500-
data-structures-and-algorithms-practice-
problems-35afe8a1e222

You might also like