Deterministic versus nondeterministic algorithms

Deterministic algorithms will produce the same output without fail every time the algorithm is run with the same input. There are some sets of problems that are so complex in the design of their solutions that expressing their solution in a deterministic way can be a challenge. Nondeterministic algorithms can change the order of execution or some internal subprocess that leads to a change in the final result any time the algorithm is run. As such, with every run of a nondeterministic algorithm, the output of the algorithm is different. For instance, an algorithm that makes use of a probabilistic value will yield different outputs on successive execution depending on the value of the random ...

Get Python Data Structures and Algorithms now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.