Algorithms, data structures & computability Articles

Computational and computable problems

A computational problem is a problem that is expressed sufficiently precisely that it is possible to attempt to build an algorithm to solve it. However, this doesn't mean that the attempt needs to be successful. However, when there is an algorithm that solves every...

The Halting Problem

The Halting Problem is the problem of deciding whether a computer program will finish or go on forever. It is an example of a decision problem, a problem where you have a yes or no and it’s one of the key results in the theory of computation. It’s easy to formulate...

Computational complexity

Developed in the 70's, computational complexity is a subbranch of the theory of computation. The latter was established by Alan Turing. Computational complexity attempts to discover whether a particular algorithm or computer program is going to be efficient or...

The Turing Machine

The Turing Machine is a model of computation which is reflected in every sort of computer we use today: the computer in my iPhone, the computers in a large scientific establishment, the computers that are attached to the hull of a ship which measure temperature for...