Modules
Yog - A comprehensive graph algorithm library for Elixir.
Fast approximation algorithms for expensive graph properties.
Convenience builder for 2D Grid graphs from nested lists.
Grid graph builder result.
Build graphs using arbitrary labels instead of integer IDs.
A live builder for incremental graph construction with label-to-ID registry.
Toroidal grid builder - grids where edges wrap around.
A specialized grid graph result for toroidal (wrapping) grids.
Centrality measures for identifying important nodes in graphs.
Community detection and clustering algorithms.
Clique Percolation Method (CPM) for detecting overlapping communities.
Hierarchical community structure from algorithms like Louvain, Walktrap, Leiden.
Asynchronous Fluid Communities detection algorithm.
Girvan-Newman algorithm for hierarchical community detection.
Infomap community detection algorithm.
Label Propagation Algorithm (LPA) for community detection.
Leiden algorithm for community detection.
Local community detection using fitness maximization.
Louvain method for community detection.
Community quality metrics and graph statistics.
Result of overlapping community detection (e.g., Clique Percolation).
Result of community detection algorithms.
Walktrap algorithm for community detection.
Graph connectivity analysis - finding connected components, bridges, articulation points, strongly connected components, and k-core decomposition.
Algorithms for analyzing graph connectivity (bridges, articulation points).
Connected components algorithms for undirected and directed graphs.
Algorithms for k-core decomposition.
Algorithms for analyzing node reachability in directed and undirected graphs.
Strongly Connected Components (SCC) algorithms.
Directed Acyclic Graph (DAG) data structure.
Algorithms for Directed Acyclic Graphs (DAGs).
Core Directed Acyclic Graph (DAG) type and basic operations.
Disjoint Set Union (Union-Find) data structure for efficient set operations.
Maximum flow algorithms and min-cut extraction for network flow problems.
Result of maximum flow computation (Edmonds-Karp, etc.).
Global minimum cut algorithms for undirected graphs.
Result of minimum cut computation.
Minimum cost flow algorithms for network flow optimization.
Classic graph algorithms using purely functional inductive decomposition.
Structural analysis for inductive graphs — components, bridges, and articulation points.
Inductive graph representation based on Martin Erwig's Functional Graph Library (FGL).
A node context containing the node's identity, label, and adjacency information.
Higher-order transformations for inductive graphs — map, filter, and structural changes.
Inductive graph traversals — BFS and DFS without explicit visited sets.
Deterministic graph generators for common graph structures.
Maze generation algorithms for creating perfect mazes.
Stochastic graph generators for random graph models.
Core graph data structure.
Network health and structural quality metrics.
GDF (GUESS Graph Format) serialization support.
GEXF (Graph Exchange XML Format) serialization support.
GEXF serialization support for multigraphs (Yog.Multi.Graph).
Graph6 format import/export for undirected simple graphs.
GraphML (Graph Markup Language) serialization support.
JSON format import/export for graph data exchange.
LEDA (Library of Efficient Data types and Algorithms) graph format support.
Interoperability with the libgraph library.
Adjacency list import/export for graph serialization.
Adjacency matrix import/export for graph serialization.
Matrix Market (.mtx) format serialization support.
Pajek (.net) format serialization support.
Sparse6 format import/export for undirected simple graphs.
Trivial Graph Format (TGF) serialization support.
Minimum Spanning Tree (MST) algorithms for finding optimal network connections.
Borůvka's algorithm for finding the Minimum Spanning Tree (MST).
Chu-Liu/Edmonds' algorithm for finding the Minimum Spanning Arborescence (MSA).
Kruskal's algorithm for finding the Minimum Spanning Tree (MST).
Prim's algorithm for finding the Minimum Spanning Tree (MST).
Result of a Minimum Spanning Tree computation.
Wilson's algorithm for generating a Uniform Spanning Tree (UST).
Graph matching algorithms.
Core graph data structures and basic operations for the yog library.
Unified facade for multigraph operations.
DOT (Graphviz) format export for visualizing multigraphs.
Eulerian path and circuit detection for multigraphs.
Core multigraph data structure.
Mermaid.js format export for visualizing multigraphs.
Core multigraph type and basic operations.
Traversal operations for multigraphs.
Graph operations - Set-theoretic operations, composition, and structural comparison.
A Pairing Heap implementation of a priority queue.
Unified facade for pathfinding algorithms.
A* (A-Star) search algorithm for optimal pathfinding with heuristic guidance.
Bellman-Ford algorithm for single-source shortest paths with negative weight support.
Bidirectional search algorithms that meet in the middle for dramatic speedups.
Ulrik Brandes' algorithm for betweenness centrality.
The Chinese Postman Problem (also known as the Route Inspection Problem).
Dijkstra's algorithm for single-source shortest paths.
Floyd-Warshall algorithm for all-pairs shortest paths in weighted graphs.
Johnson's algorithm for all-pairs shortest paths in weighted graphs with negative edge weights.
Lowest Common Ancestor (LCA) queries using binary lifting.
Preprocessed state for LCA queries.
Optimized distance matrix computation for subsets of nodes.
Result of pathfinding algorithms (Dijkstra, A*, BFS, etc.).
Yen's algorithm for finding the k shortest loopless paths between two nodes.
Unified facade for assessing graph structures and invariant properties.
Bipartite graph analysis and matching algorithms.
Clique finding algorithms using the Bron-Kerbosch algorithm.
Graph coloring algorithms for finding valid colorings and estimating the chromatic number.
Graph cyclicity and Directed Acyclic Graph (DAG) analysis.
Eulerian path and circuit algorithms using Hierholzer's algorithm.
Planarity testing and planar embedding for undirected graphs.
Structural properties of graphs.
Represents a tree decomposition of a graph.
Implements the Weisfeiler-Lehman (WL) graph hashing algorithm.
ASCII art rendering for grid graphs - quick visualization in terminal output.
DOT (Graphviz) format export for visualizing graphs.
Mermaid.js format export for embedding diagrams in web pages and documents.
Graph transformations and mappings - functor operations on graphs.
Graph traversal algorithms - systematic exploration of graph structure.
Implicit graph traversal — BFS, DFS, Best-First, and Random on graphs defined by successor functions rather than materialized data structures.
Topological sorting algorithms for directed acyclic graphs (DAGs).
Graph walking algorithms — BFS, DFS, Best-First, and Random traversals.
Shared utility functions used across the Yog library.