JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 83599
  • Score
    100M100P100Q185476F
  • License MIT

Shortest path functions for graphology.

Package Exports

  • graphology-shortest-path
  • graphology-shortest-path/dijkstra
  • graphology-shortest-path/dijkstra.js
  • graphology-shortest-path/index.js
  • graphology-shortest-path/indexed-brandes
  • graphology-shortest-path/indexed-brandes.js
  • graphology-shortest-path/unweighted
  • graphology-shortest-path/unweighted.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (graphology-shortest-path) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Graphology Shortest Path

Shortest path functions for graphology.

Installation

npm install graphology-shortest-path

Usage

Unweighted

bidirectional

Returns the shortest path in the graph between source & target or null if such a path does not exist.

import {bidirectional} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import {bidirectional} from 'graphology-shortest-path/unweighted';

// Returning the shortest path between source & target
const path = bidirectional(graph, source, target);

Arguments

  • graph Graph: a graphology instance.
  • source any: source node.
  • target any: target node.

singleSource

Return a map of every shortest path between the given source & all the nodes of the graph.

import {singleSource} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import {singleSource} from 'graphology-shortest-path/unweighted';

// Returning every shortest path between source & every node of the graph
const paths = singleSource(graph, source);

Arguments

  • graph Graph: a graphology instance.
  • source any: source node.

singleSourceLength

Return a map of every shortest path length between the given source & all the nodes of the graph.

import {singleSourceLength} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import {singleSourceLength} from 'graphology-shortest-path/unweighted';

// Returning every shortest path between source & every node of the graph
const paths = singleSourceLength(graph, source);

Arguments

  • graph Graph: a graphology instance.
  • source any: source node.

undirectedSingleSourceLength

Return a map of every shortest path length between the given source & all the nodes of the graph. This is basically the same as singleSourceLength except that it will consider any given graph as undirected when traversing.

import {undirectedSingleSourceLength} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import {undirectedSingleSourceLength} from 'graphology-shortest-path/unweighted';

// Returning every shortest path between source & every node of the graph
const paths = undirectedSingleSourceLength(graph, source);

Arguments

  • graph Graph: a graphology instance.
  • source any: source node.

Dijkstra

bidirectional

Returns the shortest path in the weighted graph between source & target or null if such a path does not exist.

import {dijkstra} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import dijkstra from 'graphology-shortest-path/dijkstra';

// Returning the shortest path between source & target
const path = dijkstra.bidirectional(graph, source, target);

// If you store edges' weight in custom attribute
const path = dijkstra.bidirectional(graph, source, target, 'customWeight');

// Using a custom weight getter function
const path = dijkstra.bidirectional(
  graph,
  source,
  target,
  (_, attr) => attr.importance
);

Arguments

  • graph Graph: a graphology instance.
  • source any: source node.
  • target any: target node.
  • getEdgeWeight ?string|function [weight]: name of the weight attribute or getter function.

singleSource

Return a map of every shortest path between the given source & all the nodes of the weighted graph.

import {dijkstra} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import dijkstra from 'graphology-shortest-path/dijkstra';

// Returning every shortest path between source & every node of the graph
const paths = dijkstra.singleSource(graph, source);

// If you store edges' weight in custom attribute
const paths = dijkstra.singleSource(graph, source, 'customWeight');

// Using a custom weight getter function
const path = dijkstra.singleSource(graph, source, (_, attr) => attr.importance);

Arguments

  • graph Graph: a graphology instance.
  • source any: source node.
  • getEdgeWeight ?string|function [weight]: name of the weight attribute or getter function.

A-star

bidirectional

Returns the shortest path in the weighted graph between source & target or null if such a path does not exist.

import {astar} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import astar from 'graphology-shortest-path/astar';

// Returning the shortest path between source & target
const path = astar.bidirectional(
  graph,
  source,
  target,
  (_, attr) => attr.importance
  (node, finalTarget) => euclideanDistance(points[node], points[finalTarget])
);

Arguments

  • graph Graph: a graphology instance.
  • source any: source node.
  • target any: target node.
  • getEdgeWeight ?string|function [weight]: name of the weight attribute or getter function.
  • heuristic ?function: heuristic function to compute distance between current node and final target.

Utilities

edgePathFromNodePath

Helper function that can convert a node path to an edge path.

import {edgePathFromNodePath} from 'graphology-shortest-path';
// Alternatively, if you want to load only the relevant code
import {edgePathFromNodePath} from 'graphology-shortest-path/utils';

const edgePath = edgePathFromNodePath(graph, nodePath);

Arguments

  • graph Graph: a graphology instance.
  • nodePath Array: node path to convert.