What are the characteristics of algorithms?
Regardless of the use
that is given to the algorithms, they all have the following characteristics in
common:
1-Start and end: they start from an initial state from which they
execute a series of instructions to reach a final state of exit or termination.
2-Accuracy: they must indicate a clear, specific and logical
order of instructions for the execution of each step, with no room for
ambiguity.
3-Sequence: they must follow a series of ordered, understandable
and previously established steps.
4-Complete: they must take into account all the possibilities and
presentations of the problem to execute the exact solution.
5-Finite: the number of steps to execute the task must be
finite to complete it.
6-Abstract: they represent a guide or model to order processes.
How recent are the algorithms?
Humans have created,
modified, and used algorithms throughout history. More than 4,500 years ago,
the Sumerians illustrated on clay tablets an iterative method used to
distribute the grain harvest equally among a variable number of men.
In the mid-19th century,
Augusta Ada Byron (Ada Lovelace) created what is considered the first algorithm
designed to be executed by a machine. Lovelace, laid the foundation for future
programming languages (such as functional programming).
Algorithm classification criteria
Depending
on the criteria used, different classifications are applied to the algorithms.
For example, if we use the classification by the system of signs with which the
steps to be followed by the algorithm are described, we can differentiate two
types, qualitative algorithms: those whose steps are verbal instructions and
quantitative algorithms: those that follow calculation instructions. numeric.
If they are
classified based on their function, three main groups can be established, such
as search algorithms, ordering algorithms, and routing algorithms.
The third
criteria that can be used for your ranking is based on your strategy to achieve
a result. In this group we can mention probabilistic, heuristic, greedy,
escalation and deterministic algorithms.
A detailed
analysis of the main types of algorithms is studied during the Computer
Engineering degree at the Faculty of Engineering of UDE, more precisely in the
course "Analysis of Algorithms".
Comentarios
Publicar un comentario