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)
487 auto n1_g1 =
g1.insert_node(1);
488 auto n2_g1 =
g1.insert_node(2);
491 auto n1_g2 =
g2.insert_node(1);
492 auto n2_g2 =
g2.insert_node(2);
515 auto n1_g1 =
g1.insert_node(1);
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.
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.
bool are_equal(const GT &g1, const GT &g2)
Fast graph comparison.
DynList< T > maps(const C &c, Op op)
Classic map operation.
Arc of graph implemented with double-linked adjacency lists.
Generic graph and digraph implementations.
Graph indexing utilities for O(log n) node/arc lookup.