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 and a Python 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.

CODEPACK, a FORTRAN90 library which computes "codes" that can determine if two graphs are isomorphic.

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 07 March 2020.