Junior — Middle
Qual método de busca de elementos é considerado mais eficiente: percorrer um array ou aceder por chave num dicionário?
sobes.tech IA
Resposta da IA
A pesquisa por chave num dicionário é considerada uma forma mais eficiente de encontrar um elemento em comparação com percorrer um array.
Razões:
- O dicionário é implementado com uma tabela de hash, o que garante um tempo médio de acesso de O(1).
- Percorrer um array (pesquisa linear) requer verificar cada elemento, com um tempo de pesquisa de O(n).
Exemplo em Swift:
let array = [1, 2, 3, 4, 5]
let dictionary = [1: "one", 2: "two", 3: "three"]
// Pesquisa no array
if array.contains(3) {
print("Encontrado")
}
// Pesquisa por chave no dicionário
if let value = dictionary[3] {
print("Encontrado: \(value)")
}
Portanto, se precisar procurar elementos por chave com frequência, é melhor usar um dicionário.