floyd, a C code which demonstrates Floyd's algorithm for finding the shortest distance between every pair of nodes in a directed graph.


The computer code and data files described and made available on this web page are distributed under the MIT license


floyd is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

BELLMAN_FORD, a C code which implements the Bellman-Ford algorithm for finding the shortest distance from a given node to all other nodes in a directed graph whose edges have been assigned real-valued lengths.

CITIES, a FORTRAN90 library which handles various problems associated with a set of "cities" on a map.

CITIES, a dataset directory which contains a number of city distance datasets.

DIJKSTRA, a C code which runs a simple example of Dijkstra's minimum distance algorithm for graphs.


GRAPH_REPRESENTATION, a data directory which contains examples of ways of representing abstract mathematical graphs

SUBSET, a C code which generates, ranks and unranks various combinatorial objects.

TOMS097, a C code which computes the distance between all pairs of nodes in a directed graph with weighted edges, using Floyd's algorithm.


  1. Robert Floyd,
    Algorithm 97: Shortest Path,
    Communications of the ACM,
    Volume 5, Number 6, page 345, June 1962.
  2. Michael Quinn,
    Parallel Programming in C with MPI and OpenMP,
    McGraw-Hill, 2004,
    ISBN13: 978-0071232654,
    LC: QA76.73.C15.Q55.

Source Code:

Last revised on 28 June 2019.