# Algorithms

In mathematics and computer science, an algorithm is a self-contained step-by-step set of operations to be performed. Algorithms perform calculation, data processing, and/or automated reasoning tasks.^{[1]}

## Introduction

Content gratefully used with permission : ^{[2]}

## Criteria for an algorithm

Below is an excellent criteria which defines what is an algorithm. It is used from this superb site: http://fiftyexamples.readthedocs.io/en/latest/algorithms.html^{[3]}

**An algorithm is an unambiguous description**that makes clear what has to be implemented. In a recipe, a step such as “Bake until done” is ambiguous because it doesn’t explainGive a detailed account including reasons or causes. what “done” means. A more explicit description such as “Bake until the cheese begins to bubble” is better. In a computational algorithm, a step such as “Choose a large numberA unit of abstract mathematical system subject to the laws of arithmetic.” is vague: what is large? 1 million, 1 billion, or 100? Does the numberA unit of abstract mathematical system subject to the laws of arithmetic. have to be different each time, or can the same numberA unit of abstract mathematical system subject to the laws of arithmetic. be used on every run?**An algorithm expects a defined set of inputs**. For example, it might require two numbers where both numbers are greater than zero. Or it might require a word, or a listGive a sequence of brief answers with no explanation. of zero or more numbers.**An algorithm produces a defined set of outputs**. It might output the larger of the two numbers, an all-uppercase version of a word, or a sorted version of the listGive a sequence of brief answers with no explanation. of numbers.**An algorithm is guaranteed to terminate and produce a result,**always stopping after a finite time. If an algorithm could potentially run forever, it wouldn’t be very useful because you might never get an answer.**Most algorithms are guaranteed to produce the correct result**. It’s rarely useful if an algorithm returns the largest numberA unit of abstract mathematical system subject to the laws of arithmetic. 99% of the time, but 1% of the time the algorithm fails and returns the smallest numberA unit of abstract mathematical system subject to the laws of arithmetic. instead.**If an algorithm imposes a requirement on its inputs (called a precondition), that requirement must be met**. For example, a precondition might be that an algorithm will only accept positive numbers as an input. If preconditions aren’t met, then the algorithm is allowed to fail by producing the wrong answer or never terminating

.

## Standards

- DefineGive the precise meaning of a word, phrase, concept or physical quantity. algorithm

.