Algorithms
An algorithm can be defined as a sequence of operations tailored to solve a specific problem.
We usually measure the performance of an algorithm by its time complexity during runtime.
Terminology
- Heuristic: give a quick solution for a specific problem, but it's usually not optimal
- Metaheuristic: general heuristics methods that can be applied to multiple different problems.
Examples: Simulated Annealing - Greedy algorithm: select the best result at each iteration, so the global optimum is obtained by repeatedly selecting the local optimum.
Examples: Nearest Neighbour, Kruskal, Prim, Dijkstra
Flow
- Permutation Flow Shop: product chain with operation sequence fixed
- Job Shop: product chain with operation sequence variable
Resources
- the-algorithms.com – Large library of algorithms
- List of algorithms – Wikipedia
- Algorithm and data structure visualization – David Galles
- Michael Sambol – Youtube Channel