|
�� �������
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. Analista de Sistemas - NDS [EMAIL PROTECTED] F�ton� Inform�tica e Servi�os Fone: (61) 328 5060 R.: 204 -----Mensagem original----- o q s�o tabelas de hash? []'s ----------------------------- |
