Академический Документы
Профессиональный Документы
Культура Документы
LISTA DE EXERCCIOS
NO NECESSRIO ENTREGAR A RESOLUO DESTA LISTA. RESOLVA OS
EXERCCIOS COMO FORMA DE ESTUDAR, ENTENDER E COMPREENDER O
CONCEITO E AS APLICAES DA ESTRUTURA DE DADOS TABELA HASH.
1) Considere o Tipo Abstrato de Dados (TAD) conjunto e as operaes de pertinncia, unio, intercesso,
diferena, insero e remoo. O TAD conjunto pode ser implementado usando uma das seguintes estruturas
de dados: vetor, vetor de bits, lista encadeada, rvore binria e tabela hash com tratamento de colises
usando encadeamento exterior.
a) Compare o custo (melhor caso, pior caso e caso mdio) dessas operaes, usando a notao Big O,
considerando o TAD conjunto implementado usando as seguintes estruturas de dados: rvore binria, lista
encadeada e tabela hash com tratamento de colises usando encadeamento exterior.
b) Implemente, na linguagem de programao C, as operaes de pertinncia, unio, intercesso, diferena,
insero e remoo do TAD conjunto usando as estruturas de dados: rvore binria e tabela hash com
tratamento de colises usando encadeamento exterior. No necessrio fazer um programa que teste as
implementaes.
2) Qual dos esquemas de tratamento de coliso (endereamento aberto ou encadeamento exterior) de tabela
hash consegue tolerar um fator de carga superior a 1 e qual no consegue? Justifique sua resposta.
3) Discuta por que uma tabela hash no adaptada para implementar um dicionrio ordenado.
4) Quais as vantagens e desvantagens da estrutura de dados tabela hash?
5) Qual o tempo do pior caso para inserir n elementos numa tabela hash inicialmente vazia, com colises
sendo resolvidas por encadeamento exterior? Qual seria o melhor caso? E o caso mdio?
6) (ENADE-2008) Tabelas de disperso (tabelas hash) armazenam elementos com base no valor absoluto de
suas chaves e em tcnicas de tratamento de colises. As funes de disperso transformam chaves em
endereos base da tabela, ao passo que o tratamento de colises resolve conflitos em casos em que mais de
Referncias:
[1] ZIVIANI, Nvio. Projeto de Algoritmos: com implementao em Pascal e C. 3 edio revista e
ampliada. So Paulo: Cengage Learning, 2011.
[2] CORMEN, T. et al. Algoritmos: Teoria e Prtica. 2 edio. Rio de Janeiro: Editora Campus, 2002.
[3] CELES, Waldemar, CERQUEIRA, Renato, RANGEL, Jos Lucas. Introduo a Estruturas de Dados Com Tcnicas de Programao em C. 1 edio. Rio de Janeiro: Editora Campus, 2004.
[4] WIRTH, Niklaus. Algoritmos e Estruturas de Dados. 1 edio. Rio de Janeiro: Editora LTC, 1989.