��

������� Tabelas hash (ou "hash tables") s�o estruturas de dados com um modelo que facilita a pesquisa n�o-uniforme por valores. N�o uniforme no sentido de que n�o h� como prever a ordem na qual o programa que faz uso dos valores nela contidos. A tabela hash tem essa vantagem sobre outras estruturas conhecidas, como �rvores bin�rias, �rvores tries (pesquisas em dicion�rio), etc., que buscam eficientemente por valores em pesquisas ordenadas, por exemplo.

������� O funcionamento de uma estrutura hash � o seguinte: os registros s�o armazenados na tabela, que � uma estrutura bidimensional, e indexados por um valor, normalmente num�rico, denominado chave. Essa chave, numa estrutura hash din�mica, � gerada automaticamente. Existem diversas teorias sobre como gerar essa chave para cada um dos registros, de forma que nenhuma das chaves geradas seja repetida, o que tornaria a tabela hash inapropriada. Eventualmente, como era de se prever, nem sempre as chaves podem ser geradas sempre diferentes umas das outras. Nesse caso, para dois ou mais registros com a mesma chave, a pesquisa vai ser feita seq�encialmente nesses registros. No pior caso, as chaves geradas seriam muito semelhantes, e a tabela hash se comportaria como uma lista encadeada.

�������� Em Java, existe uma classe que "sugere" implementar tal estrutura, que � a java.util.Hashtable. Por�m nela a especifica��o da chave para cada um dos registros � feita estaticamente, no momento em que o registro for inserido. O ideal seria que essas chaves fossem transparentes para o programador.

 

Rosfran Lins Borges

Analista de Sistemas - NDS

[EMAIL PROTECTED]

F�ton� Inform�tica e Servi�os

Fone: (61) 328 5060 R.: 204

 

-----Mensagem original-----
De: L�via Silva Santos [mailto:[EMAIL PROTECTED]]
Enviada em: sexta-feira, 12 de julho de 2002 15:37
Para: [EMAIL PROTECTED]; javalinhadecodigo; java-list; java
Assunto: [java-list] tabelas de hash

 

o q s�o tabelas de hash?

 

[]'s

-----------------------------
 L�via Silva Santos
    Ramal 5766
  Embrapa - Cnptia
-----------------------------

Responder a