An algorithm is a set of instructions to solve specific problems or to perform a computation. In TypeScript algorithms can be implemented with functions.
Algorithms have defining characteristics such as:
- Generality: The algorithm must apply to a set of defined inputs.
- Definiteness / Uniqueness: At any point in time, there is at most one possibility of continuation. Each instruction step is well-defined.
- Deterministic: Given a particular input, the algorithm will always produce the same output.
- Effectiveness: The algorithm terminates in a finite amount of time / steps. Every execution of the algorithm delivers a result.
- Finiteness: The algorithm is described in a finite amount of steps.
- Feasibility: It should be feasible to execute the algorithm with the available resources.