Camargue
Classes | Namespaces | Functions
graph.hpp File Reference

Header for classes/structures/functions to work with graphs. More...

#include "util.hpp"
#include <array>
#include <functional>
#include <iostream>
#include <memory>
#include <queue>
#include <stdexcept>
#include <utility>
#include <vector>
#include <cmath>
Include dependency graph for graph.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CMR::Graph::Edge
 Representing graph edges and costs. More...
 
struct  CMR::Graph::AdjObj
 Object used to represent adjacency in a Graph::AdjList. More...
 
struct  CMR::Graph::Node
 A vertex in a Graph::AdjList graph. More...
 
struct  CMR::Graph::AdjList
 Representation of a graph as an adjacency list. More...
 

Namespaces

 CMR
 The namespace for this project.
 
 CMR::Graph
 Classes and functions for working with graphs.
 

Functions

void CMR::Graph::get_elist (const std::vector< Edge > &edges, std::vector< int > &elist, std::vector< int > &ecap)
 Get a node-node elist representation of a list of edges.
 
Functions for getting cuts in a graph.

These functions take as input a graph $ G $ and a node set $ X $, returning a representation of $ \delta(X) $ in $ G $.

The returned vector delta_inds will store indices of edges in the cut wrt the input graph.

std::vector< int > CMR::Graph::delta_inds (const std::vector< int > &node_list, const std::vector< Edge > &edges, int ncount)
 Cut set node_list, with graph specified by edges with ncount nodes.
 
std::vector< int > CMR::Graph::delta_inds (const std::vector< int > &node_list, const std::vector< int > &elist, int ncount)
 As above but with node-node list elist representing graph edges.
 

Detailed Description

Header for classes/structures/functions to work with graphs.