# Algorithm

An algorithm is a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.

## Applications

An example from everyday life is a recipe for baking a cake. By following the steps in the recipe you get the desired cake at the end. Other known applications are searching and sorting. How should you go about finding a television station the fastest way when they are all in alphabetical order? The question of the shortest path in a graph can be solved by algorithms as well.

The PageRank algorithm and the HITS algorithm should be mentioned in particular with regard to SEO. They are both used to evaluate websites and form the basis of Google and Co’s algorithms.

## Features

### Determinism

One speaks of a deterministic algorithm if at any moment during execution, there exists a maximum of only one possible next action. The next step is therefore unambiguous. If there is no possible next step, the algorithm terminates. If two or more possible next steps exist, that can be freely chosen, or when it can be chosen randomly at some point, then the algorithm is non-deterministic.

### Determinism

If an algorithm comes to the same result under the same conditions and with the same parameters, it is deterministic.

### Finiteness

If the length of an algorithm is finite, it is called static finiteness. If it uses a finite amount of memory during execution, it is called dynamic finiteness.

### Scheduling

If an algorithm stops and comes to a conclusion in each execution after a finite number of steps, it is terminating.

## Efficiency

The question of efficiency plays a major role in terms of algorithms. If there are a variety of algorithms available to solve a problem, it must be determined which one is the most useful. It is important to distinguish between two things. On the one hand, the speed of execution is important, it is called run-time efficiency. On the other hand, an algorithm should use a minimal amount of resources during execution such as memory, in this case, one speaks of storage efficiency. Algorithms must be compared independent of hardware and implementation. They are not measured in terms of time, but in number of necessary computations. Using the O-notation, for example, the runtime can be assessed and a worst case and best case specified. Algorithms can be compared based on these values.

## Importance for search engine optimization

Algorithms are the most important basic concept for search engines such as Google, Yahoo, or Bing. The founding of Google goes back to the patent application for the PageRank algorithm that assigns an integer value between 0 and 10 to a webpage, i.e. the PageRank, using the linking structure. In addition to linking structure, which can be represented as a graph, search engines also use algorithms that read and evaluate the page content, for example, text and formatting, as well as their relationships with other websites. The Hiltop, TrustRank, and HITS (Hypertext Induced Topic Selection) algorithms also play important roles in establishing the hierarchy of the search results.

The search engine result lists (short SERP) are, strictly speaking, the product of various algorithms that use many signals to display a webpage higher or lower in the search results. Google itself, states that more than 200 different factors are used in assessing websites. Factors such as the content of a website being up to date and its location count in addition to links and terms. The exact formulas, structures, and implementations of such algorithms are, however, kept strictly secret.