Data Structures & Algorithms in C++
Goodrich, Tamassia, Mount and Goldwasser
Loading...
Searching...
No Matches
Data Structures | Namespaces | Typedefs | Functions
graph.h File Reference
#include <functional>
#include <iostream>
#include <list>
#include <unordered_map>
#include <unordered_set>
Include dependency graph for graph.h:
This graph shows which files directly or indirectly include this file:

Data Structures

class  dsac::graph::Graph< V, E >
 
class  dsac::graph::Graph< V, E >::Vertex
 Vertex instance serves as a token for an underlying vertex. More...
 
struct  dsac::graph::Graph< V, E >::VertexHash
 Hash functor that allows use of Vertex as an unordered set/map key. More...
 
class  dsac::graph::Graph< V, E >::Edge
 Edge instance serves as a token for an underlying edge. More...
 
struct  dsac::graph::Graph< V, E >::EdgeHash
 Hash functor that allows use of Edge as an unordered set/map key. More...
 

Namespaces

namespace  dsac
 Code from the zyBook "Data Structures and Algorithms in C++" by Goodrich/Tamassia/Mount/Goldwasser.
 
namespace  dsac::graph
 Code from the chapter "Graph Algorithms".
 

Typedefs

template<typename V , typename E >
using dsac::graph::VertexList = std::list< typename Graph< V, E >::Vertex >
 VertexList is a std::list of Vertex instances for Graph<V,E>
 
template<typename V , typename E >
using dsac::graph::EdgeList = std::list< typename Graph< V, E >::Edge >
 EdgeList is a std::list of Edge instances for Graph<V,E>
 
template<typename V , typename E >
using dsac::graph::VertexSet = std::unordered_set< typename Graph< V, E >::Vertex, typename Graph< V, E >::VertexHash >
 VertexSet is a std::unordered_set of Vertex instances for Graph<V,E>
 
template<typename V , typename E , typename T >
using dsac::graph::VertexMap = std::unordered_map< typename Graph< V, E >::Vertex, T, typename Graph< V, E >::VertexHash >
 VertexMap is a std::unordered_map from Vertex to type T for Graph<V,E>
 
template<typename V , typename E >
using dsac::graph::VertexIntMap = VertexMap< V, E, int >
 VertexIntMap is a std::unordered_map from Vertex to int for Graph<V,E>
 
template<typename V , typename E >
using dsac::graph::VertexVertexMap = VertexMap< V, E, typename Graph< V, E >::Vertex >
 VertexVertexMap is a std::unordered_map from Vertex to Vertex for Graph<V,E>
 
template<typename V , typename E >
using dsac::graph::VertexEdge = VertexMap< V, E, typename Graph< V, E >::Edge >
 VertexEdgeMap is a std::unordered_map from Vertex to Edge for Graph<V,E>
 

Functions

template<typename V , typename E >
void dsac::graph::dump (const Graph< V, E > &G, std::ostream &out)
 Outputs graph representation to given stream.