Defined in <stapl/containers/graph/generators/random_neighborhood.hpp>

template<typename GraphView>  
GraphView make_random_neighborhood(size_t n,size_t ef,size_t k,bool bidirectional)


Generates a random graph with N vertices.

Each vertex can connect to others in its neighborhood (+/- k from a vertex's id defines the neighborhood). k=1 forms a circular list, while k=N forms an Erdos-Renyi random network. Each vertex connects to ef neighbors on average, this is not the guaranteed number of edges for a particular vertex. The diameter of the generated graph decreases as k increases.

The returned view owns its underlying container.


  • n: Number of vertices in the generated graph.
  • ef: Average number of outgoing edges per vertex.
  • k: Size of the neighborhood to which each vertex can connect.
  • bidirectional: True to add back-edges in a directed graph, false for forward edges only.


A view over the generated graph.


  using view_type = stapl::graph_view<stapl::multidigraph<int>>;

  auto v = stapl::generators::make_random_neighborhood<view_type>(
    128, 8, 4, true

results matching ""

    No results matching ""