[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

[grafos] 102 arcos




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).