graph_collection

Last updated:

0 purchases

graph_collection Image
graph_collection Images
Add to Cart

Description:

graph collection

Provides numerous graph theory based Graph Collections

Graph theory #
Graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of vertices (also called nodes or points) which are connected by edges (also called links or lines).


Undirected Graph #
UndirectedGraph
All edges of the undirected graph are bidirectional
Directed Graph #
DirectedGraph
All edges of the directed graph are directed from one vertex to another
Link Graph #
LinkGraph
Union of directed graphs and undirected graphs
This means that only edge relationships can be stored and values cannot be stored.
Multigraph #
A multigraph (in contrast to a simple graph) is a graph which is permitted to have multiple edges (also called parallel edges[1]), that is, edges that have the same end nodes. Thus two vertices may be connected by more than one edge.

The base implementation of this library is part of the multigraph
It allows each key to produce an edge, but does not allow 2 key equal edges
Each key can represent an edge between two nodes that store values
It is like allowing red and blue edges to exist together but not allowing 2 red or 2 blue
Undirected Value Graph #
UndirectedValueGraph
An undirected graph of values can be set
Directed Value Graph #
DirectedValueGraph
An directed graph of values can be set
Graph #
Graph
Union of directed graphs, undirected graphs, directed value graphs, undirected value graphs

API reference #
API reference
Example #
import 'package:graph_collection/graph.dart';

void main() {
final g = Graph();

// Base
g.add(1);
g.has(1);
g.remove(1);

// Undirected Graph
g.link(1, 2);
g.hasLink(1, 2);
g.unLink(1, 2);

// Directed Graph
g.linkTo(1, 2);
g.hasLinkTo(1, 2);
g.unLinkTo(1, 2);

// Undirected value Graph
g.set(1, 2, 3, 4);
g.hasEdge(1, 2, 3);
g.get(1, 2, 3);
g.tryGet(1, 2, 3);
g.unSet(1, 2, 3);

g.setBy<int>(1, 2, 3);
g.hasEdgeBy<int>(1, 2);
g.getBy<int>(1, 2);
g.tryGetBy<int>(1, 2);
g.unSetBy<int>(1, 2);

// Directed value Graph
g.setTo(1, 2, 3, 4);
g.hasEdgeTo(1, 2, 3);
g.get(1, 2, 3);
g.tryGet(1, 2, 3);
g.unSetTo(1, 2, 3);

g.setToBy<int>(1, 2, 3);
g.hasEdgeToBy<int>(1, 2);
g.getBy<int>(1, 2);
g.tryGetBy<int>(1, 2);
g.unSetToBy<int>(1, 2);
}
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.