Escolar Documentos
Profissional Documentos
Cultura Documentos
Tabelas de dispersão
Operações sobre conjuntos
1 - Operação de busca (acesso):
Existe um determinado elemento dentro
de um conjunto;
2 - Operação de inserção;
Essas operações podem ser implementadas da mesma forma que vimos com as
sequências, isso resolverá o problema. Mas se for feito da mesma forma, será
eficiente?
Operações sobre conjuntos
O conjunto A B C D é igual ao conjunto B C D A, mas em se tratando de
sequências, são duas sequências diferentes.
C D F X C D F
Caso queira-se usar a busca binária, O(log2N), é necessário ordenar o vetor com
o novo elemento considerando o novo elemento inserido, o que pode implicar em
complexidade O(N) no pior caso.
Operações sobre conjuntos
E se a implementação for com uma Lista Ligada?
Neste caso há o problema de que não é possível fazer busca binária de forma
eficiente, pois não é possível fazer o acesso ao elemento do meio diretamente,
com complexidade constante. Portanto implicaria numa inserção no início por
exemplo, com O(1) e um acesso com busca sequencial, O(N).
A B C D E F A B C D E F
B E F B C E F
- Função de dispersão
- Estratégia de tratamento de conflitos
- Caso ótimo: Acesso e inserção constantes
- Caso ruim: Acesso e inserção lineares