libDAI
Classes | Namespaces | Typedefs | Functions
graph.h File Reference

Defines the GraphAL class, which represents an undirected graph as an adjacency list. More...

#include <ostream>
#include <vector>
#include <algorithm>
#include <dai/util.h>
#include <dai/exceptions.h>
#include <dai/smallset.h>

Go to the source code of this file.

Classes

struct  dai::Neighbor
 Describes the neighbor relationship of two nodes in a graph. More...
 
class  dai::GraphAL
 Represents the neighborhood structure of nodes in an undirected graph. More...
 

Namespaces

 dai
 Namespace for libDAI.
 

Typedefs

typedef std::vector< Neighbor > dai::Neighbors
 Describes the set of neighbors of some node in a graph. More...
 
typedef std::pair< size_t, size_t > dai::Edge
 Represents an edge in a graph: an Edge(i,j) corresponds to the edge between node i and node j. More...
 

Functions

GraphAL dai::createGraphFull (size_t N)
 Creates a fully-connected graph with N nodes. More...
 
GraphAL dai::createGraphGrid (size_t N1, size_t N2, bool periodic)
 Creates a two-dimensional rectangular grid of N1 by N2 nodes, which can be periodic. More...
 
GraphAL dai::createGraphGrid3D (size_t N1, size_t N2, size_t N3, bool periodic)
 Creates a three-dimensional rectangular grid of N1 by N2 by N3 nodes, which can be periodic. More...
 
GraphAL dai::createGraphLoop (size_t N)
 Creates a graph consisting of a single loop of N nodes. More...
 
GraphAL dai::createGraphTree (size_t N)
 Creates a random tree-structured graph of N nodes. More...
 
GraphAL dai::createGraphRegular (size_t N, size_t d)
 Creates a random regular graph of N nodes with uniform connectivity d. More...
 

Detailed Description

Defines the GraphAL class, which represents an undirected graph as an adjacency list.