Pular para o conteudo principal

O(1)

O que O(1) significa na prática e por que certas operações demoram o mesmo tempo independente do tamanho da entrada.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que significa

O(1) significa que a operação tem tempo constante.

O tamanho da entrada não importa — a operação demora aproximadamente o mesmo tempo para 10 elementos ou para 10 mil.

Isso contrasta com O(n), onde o trabalho cresce junto com a entrada.

O exemplo mais comum em JavaScript

Buscar um valor em um Map por chave é O(1):

const seen = new Map<number, number>()
seen.set(7, 0)

seen.has(7) // instantâneo — independente do tamanho do Map
seen.get(7) // mesma coisa

Percorrer um array procurando o valor seria O(n) — cresce com o tamanho.

Com Map, você evita essa busca linear.

Por que isso aparece tanto em entrevistas

Quando alguém pede para otimizar um algoritmo, a resposta frequente é trocar uma busca que percorre tudo por uma busca O(1) usando Map ou Set.

É o que transforma um loop duplo O(n²) em uma única passada O(n).

A pergunta real não é “qual é a complexidade?” — é “existe uma estrutura que me dá essa informação sem precisar varrer tudo de novo?”

Continue explorando