[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
[grafos] 102 arcos
- Subject: [grafos] 102 arcos
- From: Jose Coelho de Pina <coelho@linux.ime.usp.br>
- Date: Sat, 05 Apr 2003 22:47:59 -0300
Ois,
O SGB armazena os arcos de um grafo em `blocos'. Cada um
desses blocos contém 102 arcos (o SGB mantém um lista ligada
desses blocos), como diz a seção 29 do módulo GB_GRAPH:
"When a new block of |Arc| records is needed, we create 102
of them at once. This strategy causes exactly 2048 bytes
to be allocated on most computer systems---a nice round
number.
[...]
@d arcs_per_block 102 "
Assim, para um grafo com 7 arcos, o SGB cria 102 arcos (apesar
de nosso programa estar usando apenas 7). Se o
grafo tem 103 arcos ele cria 204 arcos e assim por diante.
O GB_SAVE salva todos esses blocos criados, ou seja, um
multiplo de 102 arcos.
coelho
P.S. É impressionante como é legal ler o código do SGB.
Vocês já leram a implementação da função de hash? A
implementação e decrição da função de hash estão nas últimas
3 páginas do módulo GB_GRAPH (seções 42 a 48).