Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

faabio

Alocação dinâmica + função de hash

Mensagens Recomendadas

faabio    0
faabio

Tenho um array (de estruturas) dinâmico, que pode crescer até 10000. Era de grande valor que fosse possível usar uma função de hash para as procuras, mas o facto do array ser dinâmico complica-me bastante a vida. Tendo em conta que tenho um ficheiro com a informação, cheguei a esta possível solução:

1. Sempre que insiro algo, aumento o tamanho da lista, que teria de ter guardado algures

2. Actualizo o ficheiro

3. Faço o parser para montar a nova estrutura

Deste modo poderia utilizar uma função de hash, mas esta solução é bastante demorada.

Alguém me pode dizer se existe uma forma melhor, ou uma função de hash que resolva o meu problema? Dado que a chave para tal função é uma string...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mogers    14
mogers

Não percebi quando é que deves actualizar o ficheiro.

Uma tabela de hash deve ter pelo menos o dobro do tamanho dos elementos que contém. Assim, sugiro que comeces o programa com um tamanho X para a tabela de hash. Quando o número de elementos atingir metade ( ou seja X/2 ), duplicas o tamanho da tabela de hash e tens de posicionar os elementos na nova tabela (esta operação é muito lenta, convém ser feita poucas vezes ).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade