Quais são as estruturas de dados existentes?
sobes.tech IA
Resposta da IA
Arrays, listas, pilhas, filas, árvores, grafos, tabelas de hash.
Array: Coleção de elementos do mesmo tipo, armazenados em células de memória contíguas. Acesso por índice.
Lista: Coleção sequencial de elementos. Pode ser ligada simples ou duplamente. Adicionar/remover no meio é mais eficiente do que em um array.
Pilha: Estrutura LIFO (Last-In, First-Out). Operações: push (adicionar), pop (remover do final), peek (ver o elemento superior).
Fila: Estrutura FIFO (First-In, First-Out). Operações: enqueue (adicionar ao final), dequeue (remover do início), peek (ver o primeiro elemento).
Árvore: Estrutura de dados hierárquica. Raiz, nós, descendentes. Exemplo: árvore binária de busca.
Grafo: Conjunto de vértices (nós), conectados por arestas. Pode ser dirigido ou não dirigido, ponderado ou não.
Tabela de hash: Coleção de pares chave-valor. Usa função hash para acesso rápido (em média). Podem ocorrer colisões.
Exemplos de uso em iOS:
- Arrays:
Array - Listas: não há classe embutida, implementadas com arrays ou estruturas personalizadas
- Pilhas/Filas: implementadas com arrays ou listas
- Árvores: usadas em frameworks, por exemplo, na UI (hierarquia de visualizações)
- Grafos: para representar conexões, por exemplo, redes
- Tabelas de hash:
Dictionary,Set
// Exemplo de array
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Acesso por índice
// Exemplo de dicionário (tabela de hash)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Acesso por chave