Sobes.tech
Junior — Middle

Qual é a complexidade temporal da operação de busca de um elemento numa lista implementada através de um slice?

sobes.tech IA

Resposta da IA

Em Go, um slice é um array dinâmico que armazena elementos numa área de memória sequencial. A busca de um elemento por valor num slice requer percorrer os elementos, uma vez que o slice não é indexado por valor.

Assim, a complexidade temporal da operação de busca de um elemento num slice é O(n), onde n é o número de elementos no slice.

Exemplo de busca de um elemento:

func contains(slice []int, val int) bool {
    for _, item := range slice {
        if item == val {
            return true
        }
    }
    return false
}

Aqui, no pior caso, será necessário verificar todos os elementos.