[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Realloc???
- Subject: Re: Realloc???
- From: "Rubens Altimari" <rubens@bcc2000.net>
- Date: Wed, 9 Apr 2003 08:05:48 -0300
>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