Tabela Hash Flashcards

(9 cards)

1
Q

O que é uma Tabela Hash (Hash Table) em Estruturas de Dados?

A

Uma Tabela Hash é uma estrutura de dados que associa chaves a valores, usando uma função hash para determinar a posição no array onde o valor será armazenado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é uma Função Hash?

A

Uma Função Hash é uma função que recebe uma chave e retorna um número inteiro (hash) usado como índice para armazenar o valor na tabela.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que é uma Colisão em uma Tabela Hash?

A

Uma Colisão ocorre quando duas ou mais chaves geram o mesmo valor de hash e, portanto, mapeiam para a mesma posição na tabela.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais são os métodos de resolução de colisões em uma Tabela Hash?

A

Métodos de resolução: Encadeamento (listas de elementos na mesma posição) e Endereçamento Aberto (busca por posição vazia dentro da própria tabela).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é o load factor em uma Tabela Hash?

A

O load factor é a razão entre o número de elementos e o número de posições disponíveis na tabela. Um valor muito alto pode indicar muitas colisões.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qual a complexidade das operações em uma Tabela Hash?

A

Busca: O(1) no melhor caso, O(n) no pior caso. Inserção: O(1) no melhor caso, O(n) no pior caso. Remoção: O(1) no melhor caso, O(n) no pior caso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Como é a implementação de uma Tabela Hash em C?

A

```c
#define SIZE 10

struct Node {
int key;
int value;
struct Node* next;
};

struct Node* hashTable[SIZE];

int hashFunction(int key) {
return key % SIZE;
}

void insert(int key, int value) {
int index = hashFunction(key);
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->key = key;
newNode->value = value;
newNode->next = hashTable[index];
hashTable[index] = newNode;
}```

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é a Tabela Hash Dinâmica?

A

Uma Tabela Hash Dinâmica ajusta seu tamanho automaticamente, geralmente dobrando-o quando o número de elementos atinge um limite. Isso ajuda a manter a eficiência.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quais são as vantagens de uma Tabela Hash?

A

Vantagens: Busca rápida (O(1) no melhor caso), eficiência nas operações, flexibilidade para mapear chaves para valores de diferentes tipos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly