6#include <gtest/gtest.h>
320 const size_t n = 1000;
322 for (
size_t i = 0; i < n; ++i)
330 for (
size_t i = 0; i < n; i += 100)
341 const size_t n = 100;
342 std::vector<Node*>
nodes;
344 for (
size_t i = 0; i < n; ++i)
350 for (
size_t i = 0; i < n - 1; ++i)
363 std::vector<Node*>
nodes;
365 for (
size_t i = 0; i < n; ++i)
370 for (
size_t i = 0; i < n; ++i)
372 for (
size_t j = i + 1; j < n; ++j)
488 auto n2_g1 =
g1.insert_node(2);
491 auto n1_g2 =
g2.insert_node(1);
492 auto n2_g2 =
g2.insert_node(2);
516 auto n2_g1 =
g1.insert_node(2);
WeightedDigraph::Node Node
Construye índices de nodos y arcos para su rápida búsqueda y recuperación.
size_t get_num_arcs() const
Retorna el número de arcos que contiene el índice.
GT_Node * search_node(GT_Node *p)
Busca en el índice un nodo.
GT_Arc * search_arc(GT_Node *src, GT_Node *tgt)
Busca en el índice un arco dados dos nodos.
void remove_node(GT_Node *p)
Elimina el nodo p del grafo y del índice.
size_t get_num_nodes() const
Retorna el número de nodos que contiene el índice.
GT_Node * insert_node(const GT_Node_Type &info)
Crea un nuevo nodo y lo inserta en grafo y en el índice.
void remove_arc(GT_Arc *a)
Elimina del grafo y del índice el arco a.
GT_Arc * insert_arc(GT_Node *src, GT_Node *tgt, const GT_Arc_Type &info=GT_Arc_Type())
Crea un nuevo arco entre dos nodos y lo inserta en el grafo y en el índice.
virtual Node * insert_node(Node *node) noexcept
Insertion of a node already allocated.
Graph_Node< int > Node
The graph type.
Graph_Arc< int > Arc
The node class type.
DynArray< Graph::Node * > nodes
List_Graph< Graph_Node< int >, Graph_Arc< int > > GT
TEST_F(IndexGraphTest, Construction)
Main namespace for Aleph-w library functions.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
bool are_equal(const GT &g1, const GT &g2)
Fast graph comparison.
Arc of graph implemented with double-linked adjacency lists.
Generic graph and digraph implementations.
Graph indexing utilities for O(log n) node/arc lookup.