1#include <gtest/gtest.h>
26 for (
int i = 0; i <
N; ++i)
32 for (
int i = 0; i <
N; i += 10)
44 std::vector<GT::Node*>
nodes;
45 for (
int i = 0; i < 50; ++i)
50 for (
size_t i = 0; i <
nodes.size(); ++i)
52 for (
size_t j = i + 1; j <
nodes.size(); ++j)
66 std::vector<GT::Node*>
nodes;
67 for (
int i = 0; i <
N; ++i)
72 for (
int i = 0; i <
N; ++i)
73 for (
int j = i + 1; j <
N; ++j)
87 for (
int i = 0; i < 100; ++i)
108 for (
int i = 0; i < 100; ++i)
127 std::vector<GT::Node*>
nodes;
128 for (
int i = 0; i < 200; ++i)
134 for (
size_t i = 0; i <
nodes.size(); i += 2)
144 std::vector<int> values = {50, 25, 75, 10, 30, 60, 80, 5, 15, 20, 35, 40, 55, 65, 70, 85, 90, 95};
176 for (
int i = 0; i < 1000; ++i)
191 for (
int i = 0; i < 50; ++i)
210 std::vector<GT::Node*>
leaves;
212 for (
int i = 1; i <= 100; ++i)
235 std::vector<GT::Node*>
nodes;
237 for (
int i = 0; i <
N; ++i)
240 for (
int i = 0; i <
N - 1; ++i)
253 std::vector<std::vector<GT::Node*>>
grid(
ROWS);
256 for (
int i = 0; i <
ROWS; ++i)
258 for (
int j = 0; j <
COLS; ++j)
265 for (
int i = 0; i <
ROWS; ++i)
267 for (
int j = 0; j <
COLS; ++j)
288 for (
int i = 0; i <
N; ++i)
295 auto n = it.get_curr();
307 std::vector<GT::Node*>
nodes;
308 for (
int i = 0; i < 20; ++i)
312 for (
size_t i = 0; i <
nodes.size(); ++i)
314 for (
size_t j = i + 1; j <
nodes.size(); ++j)
349 for (
int i = 0; i < 100; ++i)
371 for (
int i = 0; i < 100; ++i)
382 std::vector<GT::Node*>
nodes;
383 for (
int i = 0; i < 200; ++i)
386 for (
size_t i = 0; i <
nodes.size() - 1; ++i)
404 for (
int i = 0; i < 100; ++i)
408 for (
int i = 20; i < 40; ++i)
416 for (
int i = 100; i < 150; ++i)
420 for (
int i = 0; i < 20; ++i)
427 for (
int i = 100; i < 150; ++i)
439 for (
int i = -50; i <= 50; ++i)
444 for (
int i = -50; i <= 50; i += 5)
473 for (
int i = 0; i < 100; ++i)
477 if (i % 10 == 0 && i > 0)
void next()
Advances the iterator to the next filtered element.
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.
Filtered iterator on the nodes of a graph.
DynArray< Graph::Node * > nodes
TEST_F(IndexGraphIntensiveTest, LargeNumberOfNodes)
Main namespace for Aleph-w library functions.
DynList< T > maps(const C &c, Op op)
Classic map operation.
Itor::difference_type count(const Itor &beg, const Itor &end, const T &value)
Count elements equal to a value.
Filtered iterator on all the arcs of a graph.
Arc of graph implemented with double-linked adjacency lists.
Generic graph and digraph implementations.
Graph indexing utilities for O(log n) node/arc lookup.