Use este par para observar por que O(n²) acumula trabalho mais depressa que O(n log n) quando a lista cresce. Merge Sort tende a crescer mais devagar do que Bubble Sort quando aumentam quantidade de itens (n). Isso descreve tendência assintótica, não mede o tempo do seu aparelho.
/ leitura técnica da busca
Cada passo elimina uma dúvida, não metade do problema.
Linear Search percorre a coleção em sequência e compara a chave com um item por vez. A bancada mostra a versão básica: ela só avança após testar o item ativo. Assim, a contagem de comparações vira uma evidência direta de quanto da entrada ainda precisava ser descartado.
01 / INVARIANTE
O prefixo já visto não esconde a chave.
Antes de examinar a posição i, nenhuma posição anterior contém o alvo. Quando a comparação falha, o item atual se junta ao prefixo descartado; quando ela acerta, o índice retornado é a primeira ocorrência da varredura da esquerda para a direita.
02 / TÉRMINO
Encontrar e esgotar são conclusões diferentes.
Um acerto encerra imediatamente a execução. Se o índice alcança o tamanho da sequência, cada posição foi testada e a resposta -1 representa ausência — não uma posição válida.
03 / DIREÇÃO
A ordem da varredura define qual repetição aparece.
Em uma coleção com chaves iguais, este contrato devolve a primeira ocorrência porque começa no início. A mesma ideia, percorrida da direita para a esquerda, preservaria o custo, mas devolveria a última ocorrência.
/ custo e pré-condições
Não exigir ordem é a força — e o limite — da estratégia.
Em dados não ordenados, uma falha só pode ser comprovada depois de testar cada item. Para uma busca bem-sucedida, a média é (n + 1) / 2 comparações quando cada posição possível é igualmente provável. Essa medida descreve o crescimento do trabalho, não segundos de um navegador ou de um dispositivo específico.
MELHOR CASO1O alvo está no primeiro item.
SUCESSO MÉDIO(n + 1) / 2Com posições equiprováveis.
PIOR CASOnÚltimo item ou chave ausente.
MEMÓRIA AUXILIARO(1)Além da própria coleção.
ORDEM NÃO É UM ATALHO AUTOMÁTICO
Uma coleção ordenada permite uma variante com parada antes do fim.
Se os valores crescem e o item atual passa do alvo, a chave não pode aparecer no sufixo. Essa melhoria ajuda algumas falhas, mas não altera o pior caso de Linear Search: o alvo ainda pode estar no final ou ser maior que cada valor. A bancada mantém a versão básica para tornar a varredura completa transparente.
CRITÉRIOLINEARBINARY
Ordem prévianão exigeexige
Pior casoO(n)O(log n)
Uso típicoconsulta pontualmuitas consultas
DECISÃO DE ENGENHARIA
Comece pelo formato dos dados, não pela fórmula mais curta.
Linear Search é uma escolha coerente para listas pequenas, dados recebidos em fluxo, coleções sem ordenação e uma consulta isolada. Quando o mesmo conjunto grande permanece ordenado e será consultado repetidamente, Binary Search pode reduzir as comparações — desde que a estrutura permita acessar o meio com eficiência. Ordenar uma coleção apenas para uma consulta também tem custo; por isso, comparar as duas técnicas exige considerar preparação, número de buscas e estrutura de dados.
/ conexões de estudo
Continue pela mesma ideia.
Estas bancadas usam conceitos próximos e ajudam a comparar decisões, estruturas e custos.
/ por baixo do palco
Pseudocódigo e implementação.
Cada linha acompanha o gesto visual. Troque de linguagem e continue no mesmo passo.
01comece no primeiro item
02compare com o alvo
03se encontrou, encerre
04avance uma posição
05se chegar ao fim, falhe
/ implementação sincronizada
01function linearSearch(items, target) { // Scan each item in order02 for (let i = 0; i < items.length; i++) {03 if (items[i] === target) return i;04 }05 return -1;06}