Pages

Copyright & Privacy

Features of algorithms

An algorithm is determined, if it delivers on every execution with the same starting conditions and inputs the same results.

Determinism

An algorithm is deterministic, if at any stage of the algorithm execution, the next action step is clearly defined. Examples of deterministic algorithms are Bubble and the Euclidean algorithm. The rule here is that any deterministic algorithm determines, while not every Features of algorithmsdeterminant algorithm is deterministic. Sun quick-sorts with random choices of the pivot element which is an example of a determined but not deterministic algorithm, since its results for the same input and unambiguous order is always the same. In theoretical computer science, there is next to the determinism non-determinism, (no real machine can be directly implemented with quantum computers).

Finiteness

The finiteness restricts the definition of the algorithm to a finite long-term operation.

Static finiteness

The description of the algorithm has a finite length, the source must therefore exist a limited number of lines.

Dynamic finiteness

An algorithm may need at any stage of its execution only limited amounts of memory.

Scheduled
An algorithm stops after finitely many steps to terminate control. This is true for every possible input. If an algorithm does not terminate (and therefore has no result), the result would be a so-called loop.

For this property there are exceptions: control systems; operating systems and many other programs that are based on interaction with the user. As long as the user enters any command to stop running these programs they are intended to continue indefinitely. Donald Knuth suggests in this context to refer to non-terminating algorithms as computational methods (Computational Methods). In addition, the scheduling of an algorithm is not (the halting problem) decidable. That is, determining the problem.

Effectiveness

The effect of each statement of an algorithm must be clearly defined.

Examples of properties of algorithms
Simple basic operation: “Open the bottle of wine” this is the knowledge required for the Open.
Sequential algorithm: “beer to wine, let’s his” two operations give a predetermined sequence, and this should not be changed.
Concurrent algorithm, “liquor and beer,” The order is not predetermined and can also take place simultaneously.
Initiate parallel execution: “With sparkling wine,” This can only simultaneously (in parallel) run and not consecutive (sequential).
Nondeterministic algorithm: “Beer or water,” The result is different depending on what one chooses.

Analysis algorithms

The exploration and analysis of algorithms is a key task of computer science, and is usually carried out in theory (without concrete implementation in a programming language). It thus resembles the approach in other mathematical areas where the analysis is more focused on the underlying concepts rather than concrete implementations.

Algorithms are brought to the analysis in a highly formalized form and analyzed with the tools of formal semantics. The analysis is divided into various sub-regions. For example, the behavior of algorithms will be dealt with on resource requirements, such as computation and storage requirements in complexity theory and the results are expressed as asymptotic running times.

The resource needs will be identified here, depending on the length of the input, which means that the specified complexity depends on how large the numbers are, looking for the greatest common divisor, or how many elements must be sorted, etc. The behavior regarding the scheduling, i.e. whether the algorithm can be stopped at all, can be successfully dealt with using the predictability theory.

  • Share/Bookmark