Aula 01
ESTRUTURA DE
DADOS
ESTRUTURAS DE
DADOS Maps e Hash
AVANÇADAS E
ANÁLISE DE
1.
Estrutura
de Dados 1 Conceitos de Maps e Hash
Map: chave-valor
.
2 Tabelas hash
.
Estruturas de
3 Implementação de tabelas
hash em python
Dados .
Avançadas e
Análise de
Dados
Maps e Hash
Maps
Introdução a Maps e Hash Maps
Essas estruturas de dados permitem armazenar e
gerenciar dados de forma eficiente, utilizando o
modelo chave-valor.
Conceito de Maps
Estrutur
a de Maps
Dados Definição: Map é uma estrutura
de dados que associa chaves
únicas a valores específicos.
Permite armazenar, buscar e
gerenciar dados de forma
organizada.
Características: em um Map,
cada chave mapeia para
exatamente um valor, e cada
chave é única dentro do Map.
O que são Hash Maps?
Estrutur
a de Definição: Hash Map é um tipo de
Dados Map que usa uma função hash para
calcular o índice no qual um valor
deve ser armazenado, com base
em sua chave.
Eficiência: permite operações de
inserção, busca e remoção de
dados em tempo praticamente
constante, ou seja, O(1), na média.
Tabelas Hash
Estrutur
a de Funcionamento: uma tabela hash
Dados usa uma função hash para
converter a chave em um índice de
um array, onde o valor
correspondente é armazenado.
Colisões: quando duas chaves
diferentes produzem o mesmo
índice, isso é chamado de colisão.
Existem várias estratégias para
lidar com colisões, como
encadeamento e sondagem linear.
Grafos
Fonte: adaptado de Dias (2021)
Grafos
Fonte: adaptado de Dias (2021)
Implementação de Tabelas Hash
Estrutur
em Python
a de
Python implementa tabelas hash por
Dados meio do tipo dict (dicionário). Vamos
ver um exemplo de como usar
dicionários para mapear nomes de
estudantes a suas notas.
Vantagens das Tabelas Hash
Estrutur
a de Acesso Rápido: o tempo de busca,
inserção e remoção é, na média,
Dados constante, tornando as tabelas hash
extremamente eficientes para
operações frequentes.
Flexibilidade: podem armazenar quase
qualquer tipo de dados como valor, e
usar tipos imutáveis (como strings e
números) como chaves.
Considerações sobre Tabelas Hash
Estrutur
a de Escolha da Função Hash: uma boa
função hash distribui as chaves
Dados uniformemente pelos índices da tabela,
minimizando colisões.
Tratamento de Colisões: É essencial
implementar estratégias eficazes para
lidar com colisões para manter a
eficiência das operações.
Conclusão
Estrutur
a de Maps e Hash Maps são
ferramentas essenciais na caixa
Dados de ferramentas de um
programador, oferecendo uma
maneira poderosa e eficiente de
gerenciar e acessar dados. A
compreensão de como
implementar e utilizar essas
estruturas em Python abre portas
para a criação de aplicações mais
rápidas e confiáveis.
Estrutura
de Dados
MERCADO
Competências
necessárias para o
Mercado de
Trabalho.
É HORA DE
PRATICAR
Não se esqueça de
praticar: use a
atividade prática
proposta para
exercitar o que