X-Nico

5 unusual facts about Dijkstra's algorithm


Dijkstra's algorithm

The process that underlies Dijkstra's algorithm is similar to the greedy process used in Prim's algorithm.

Directed acyclic graph

In contrast, for arbitrary graphs the shortest path may require slower algorithms such as Dijkstra's algorithm or the Bellman–Ford algorithm, and longest paths in arbitrary graphs are NP-hard to find.

Glossary of graph theory

Certain algorithms require further restrictions on weights; for instance, Dijkstra's algorithm works properly only for positive weights.

Shortest-path tree

# Compute dist(u), the shortest-path distance from root v to vertex u in G using Dijkstra's algorithm or Bellman–Ford algorithm.

Visibility graph

Therefore, the Euclidean shortest path problem may be decomposed into two simpler subproblems: constructing the visibility graph, and applying a shortest path algorithm such as Dijkstra's algorithm to the graph.


Andhra University College of Engineering

S. Rao Kosaraju, Computer Science (1959-1964), Founder of the Kosaraju's algorithm, which finds the strongly connected components of a directed graph

B. D. Dykstra

Dykstra was born "Broer Dijkstra" in Pingjum, Friesland in 1871, son of Doekele Dijkstra and Beitske van der Schaaf.

Betweenness centrality

On a sparse graph, Johnson's algorithm may be more efficient, taking Bram Dijkstra

Bram Dijkstra (born 5 July 1938) is a retired professor of English literature and the author of seven books on literary and artistic subjects.

Considered harmful

According to linguist Mark Liberman, considered harmful was a journalistic cliché, used in headlines, well before the Dijkstra article.

Context of computational complexity

For example, Chan's algorithm can compute the convex hull of a set of points in O(n log h) time, where n is the number of points in the input and h is the number of points in the resulting convex hull, a subset of the input points.

Context-free language

Parser algorithms for context-free languages include the CYK algorithm and the Earley's Algorithm.

Efficient polynomial-time algorithms for the membership problem are the CYK algorithm and Earley's Algorithm.

De Boor

De Boor's algorithm, a fast and numerically stable algorithm for evaluating spline curves in B-spline form

Dekker's algorithm

It can then remove the writes to those variables from the loop, using a process called Loop-invariant code motion.

Dijkstra–Scholten algorithm

The Dijkstra–Scholten algorithm (named after Edsger W. Dijkstra and Carel S. Scholten) is an algorithm for detecting termination in a distributed system.

Euclidean minimum spanning tree

The simplest algorithm to find an EMST in two dimensions, given n points, is to actually construct the complete graph on n vertices, which has n(n-1)/2 edges, compute each edge weight by finding the distance between each pair of points, and then run a standard minimum spanning tree algorithm (such as the version of Prim's algorithm or Kruskal's algorithm) on it.

Since there are O(n) edges, this requires O(n log n) time using any of the standard minimum spanning tree algorithms such as Borůvka's algorithm, Prim's algorithm, or Kruskal's algorithm.

Fragment Factory

FRAG06 Bryan Lewis Saunders & Raymond Dijkstra - Le Bobcat C40 cassette (Mar 2010)

Gosper's algorithm

Marko Petkovšek, Herbert Wilf and Doron Zeilberger, A = B, AK Peters 1996, ISBN 1-56881-063-6.

Bill Gosper discovered this algorithm in the 1970s while working on the Macsyma computer algebra system at SAIL and MIT.

Goto

Some programmers, such as Linux Kernel designer and coder Linus Torvalds or software engineer and book author Steve McConnell, also object to Dijkstra's point of view, stating that GOTOs can be a useful language feature, improving program speed, size and code clearness, but only when used in a sensible way by a comparably sensible programmer.

K-edge-connected graph

It can be further improved by Gabow's algorithm that runs in worst case O(n^3) time.

Karmarkar's algorithm

At the time he invented the algorithm, Narendra Karmarkar was employed by AT&T and they realized that his invention could be of practical importance.

Keith Marzullo

Keith Marzullo is the inventor of Marzullo's algorithm, which is part of the basis of the Network Time Protocol and the Windows Time Service.

Kosaraju

Kosaraju's algorithm, an algorithm to find the strongly connected component of a directed graph.

Lov Grover

He is the originator of the Grover database search algorithm used in quantum computing.

Newell's algorithm

It was proposed in 1972 by brothers Martin Newell and Dick Newell, and Tom Sancha, while all three were working at CADCentre.

Schoof

Schoof's algorithm, efficient algorithm to count points on elliptic curves over finite fields

Shor's algorithm

On the television show Stargate Universe, the lead scientist, Dr. Nicholas Rush, hoped to use Shor's algorithm to crack Destinys master code.

Shor's algorithm was also a correct answer to a question in a Physics Bowl competition in the episode "The Bat Jar Conjecture" of the TV series The Big Bang Theory.

Theoretical computer science

While formal algorithms have existed for millennia (Euclid's algorithm for determining the greatest common divisor of two numbers is still used in computation), it was not until 1936 that Alan Turing, Alonzo Church and Stephen Kleene formalized the definition of an algorithm in terms of computation.


see also