object

weighted_undirected_graph(Dictionary)

Weighted undirected graph predicates using a dictionary representation. Each edge is stored in both directions. Edge weights use a pair representation (Vertex-Weight in neighbor lists, (Vertex1-Vertex2)-Weight for edge lists). The parametric object parameter is the dictionary to use for the graph representation.

Availability:
logtalk_load(graphs(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-02-20
Compilation flags:
static, context_switching_calls
Remarks:
(none)

Public predicates

degree/3

Returns the degree (number of edges incident to the vertex) of Vertex in Graph.

Compilation flags:
static
Template:
degree(Vertex,Graph,Degree)
Mode and number of proofs:
degree(+vertex,+graph,-integer) - zero_or_one

is_connected/1

True if Graph is connected (all vertices are reachable from any vertex).

Compilation flags:
static
Template:
is_connected(Graph)
Mode and number of proofs:
is_connected(+graph) - zero_or_one

connected_components/2

Returns the list of connected components (each a list of vertices).

Compilation flags:
static
Template:
connected_components(Graph,Components)
Mode and number of proofs:
connected_components(+graph,-list(list)) - one

min_tree/3

Constructs a minimum spanning tree and returns its total weight.

Compilation flags:
static
Template:
min_tree(Graph,Tree,Cost)
Mode and number of proofs:
min_tree(+graph,-graph,-number) - zero_or_one

max_tree/3

Constructs a maximum spanning tree and returns its total weight.

Compilation flags:
static
Template:
max_tree(Graph,Tree,Cost)
Mode and number of proofs:
max_tree(+graph,-graph,-number) - zero_or_one

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)