Sobes.tech
Junior

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