++ed by:
MIXAS CXW PWBENNETT RRWO GORTAN
11 non-PAUSE users
Author image Ed J
and 1 contributors

Changes for version 0.9712 - 2020-12-05

  • bug-fix: set_edge_attribute_by_id add_edge_by_id if not exist
  • connected_component_by_index behaves same with/without unionfind
  • AdjacencyMatrix handle multiedged
  • reduce redundant sorting for _UNORD, fix AdjacencyMap::Vertex with ID 0
  • AdjacencyMap.stringify
  • allow constructor args to override "prototype" object
  • fix docs for TransitiveClosure to correctly say path_vertices default true
  • AdjacencyMatrix now always creates adjacency matrix (clue in name)
  • remove compat02 features
  • drop untested scalar-context Traversal.postorder mutation behaviour
  • much more lazy-loading of modules
  • set_vertex_attribute_by_id now works on hypervertexed
  • internal AdjacencyMap uses array not hash for mapping index to path
  • successors/predecessors/rename_path work right with multivertex
  • AdjacencyMap array -> stable vertices ordering, TCM performance benefit
  • TransitiveClosure etc handle multiedged
  • all_paths ignore self-loops

Modules

graph data structures and algorithms
map of graph vertices or edges
create and a map of graph vertices or edges
create and query the adjacency matrix of graph G
create and manipulate a V x V bit matrix of graph G
directed graphs
create and manipulate a V x V matrix of graph G
create and query transitive closure of graph
create and query transitive closure of graph
traverse graphs
breadth-first traversal of graphs
depth-first traversal of graphs
undirected graphs
union-find data structures

Provides

in lib/Graph/AdjacencyMap/Heavy.pm
in lib/Graph/AdjacencyMap/Light.pm
in lib/Graph/Attribute.pm
in lib/Graph/MSTHeapElem.pm
in lib/Graph/SPTHeapElem.pm