129template <AlephGraph
GT,
150 if (it.get_tgt_node_ne() == tgt)
177 typename GT::Node * src = i.get_curr();
184 for (; j.has_curr(); j.
next_ne())
186 typename GT::Node * tgt = j.get_curr();
211 if (it.get_tgt_node_ne() == tgt)
246 typename GT::Node * src = i.get_curr();
251 typename GT::Node * tgt = j.get_curr();
347template <AlephGraph
GT,
373 const size_t min_degree = (n + 1) / 2;
402 const size_t min_degree = (n + 1) / 2;
413 typename GT::Node * p = it.get_curr();
476 size_t min_deg = std::numeric_limits<size_t>::max();
477 typename GT::Node * min_node =
nullptr;
481 typename GT::Node * p = it.get_curr();
C++20 concepts for the protocol shared by graph algorithms.
List_Graph< Graph_Node< Node_Info >, Graph_Arc< Arc_Info > > GT
void next_ne() noexcept
Advances the iterator to the next filtered element (noexcept version).
Filtered iterator on the nodes of a graph.
Tests Dirac's sufficient condition for Hamiltonian graphs.
bool test_graph(GT &g)
Test Dirac's condition for undirected graphs.
size_t min_required_degree(GT &g) const
Get the minimum degree required by Dirac's condition.
bool test_digraph(GT &g)
Test Dirac-like condition for directed graphs.
std::pair< size_t, typename GT::Node * > find_min_degree_vertex(GT &g)
Find the vertex with minimum degree.
Test_Dirac_Condition(SN &&__sn=SN(), SA &&__sa=SA())
Construct a Dirac condition tester.
bool operator()(GT &g)
Test if a graph satisfies Dirac's Hamiltonian condition.
Tests Ore's sufficient condition for Hamiltonian graphs.
bool are_adjacent(GT &g, typename GT::Node *src, typename GT::Node *tgt)
Check if two nodes are adjacent in an undirected graph.
bool test_graph(GT &g)
Test Ore's condition for undirected graphs.
bool operator()(GT &g)
Test if a graph satisfies Ore's Hamiltonian condition.
Test_Hamiltonian_Sufficiency(SN &&__sn=SN(), SA &&__sa=SA())
Construct a Hamiltonian sufficiency tester.
bool has_arc(typename GT::Node *src, typename GT::Node *tgt)
Check if arc src→tgt exists in a digraph.
bool test_digraph(GT &g)
Test Ore-like condition for directed graphs.
constexpr size_t get_num_nodes() const noexcept
Return the total of nodes of graph.
bool is_digraph() const noexcept
Return true if the graph this is directed.
void reset_counter_nodes() const noexcept
Reset all the counters to zero for all the nodes of graph.
constexpr size_t get_num_arcs() const noexcept
#define NODE_COUNTER(p)
Get the counter of a node.
size_t blossom_maximum_cardinality_matching(const GT &g, DynDlist< typename GT::Arc * > &matching, SA sa=SA())
Alias of compute_maximum_cardinality_general_matching().
Main namespace for Aleph-w library functions.
Filtered iterator on all the arcs of a graph.
Default filter for filtered iterators on arcs.
Default filter for the graph nodes.
Filtered iterator of adjacent arcs of a node.
Generic graph and digraph implementations.