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

Re: Realloc???



>Entre outros problemas alterar o número de vértices do grafo
atrapalha a função de hash.

>Warning: Users of this hash scheme must preserve the number
of vertices g->n in the current graph g. If g->n is changed,
the hash table will be worthless, unless hash_setup is used
to rehash everything.

Eu fiz o que ele indica na última frase: um novo hash_setup() depois de
aumentar os vértices, e funcionou...

>É chato criar um novo grafo sem reaproveitar a estrutura do
grafo que já existia... Sei lá... Sugestões?

Pois é, achei (ligeiramente) melhor aumentar o tamanho de Vertex::vertices,
mas, de todo modo, é trabalhoso e não resolve tudo. Fiquei pensando que o
Knuth podia ter proposto a utilização do *índice* do vértice nas interfaces
da biblioteca, em vez do pointer, já que já existe a restrição de vertices[]
ser um vetor (contíguo). Por que será que ele não fez isto? Na prática,
significaria usar g->vertices[indice].name em vez de g->vertices->name, por
exemplo. Aliás, fiz isto em meu programa, para não ter problemas ao mexer no
vetor.

Rubens