Módulo 10 - Busca: achar rápido

Busca linear: procurar do começo ao fim

8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 08/07/2026

O que você vai aprender

  • Entender a busca linear: conferir item por item até achar.
  • Escrever uma busca linear com laço e comando interromper.
  • Perceber que ela funciona em qualquer lista, ordenada ou não.
  • Reconhecer o custo da busca linear no pior caso.

Conferir um por um

Quando você procura uma chave perdida na bolsa, faz uma busca linear: enfia a mão e vai tateando um objeto de cada vez até encontrar. Quando confere se um nome está numa lista bagunçada, corre o dedo de cima a baixo. Esse método de olhar item por item, na ordem em que eles aparecem, é a busca linear, e é o jeito mais natural e honesto de procurar. Em programação, ela é um laço que percorre a coleção comparando cada item com o alvo. Se um item bate, achou, e o laço para com o interromper que você aprendeu no módulo de controle de laços. Se o laço chega ao fim sem nenhum acerto, a conclusão é que o item não está lá.

lista <- [40, 15, 8, 23, 4, 16]
procurado <- 23
achou <- falso
posicao <- 0
para cada item em lista faça
  se item = procurado então
    achou <- verdadeiro
    interrompa
  fim
  posicao <- posicao + 1
fim
se achou então
  escreva("Encontrado na posição ", posicao)
senão
  escreva("Não está na lista")
fim

A busca linear percorre até achar o 23 (na posição 3) e para. Repare que a lista nem precisa estar em ordem.

Uma fila de seis caixas com números fora de ordem (40, 15, 8, 23, 4, 16). Uma lupa desliza da esquerda para a direita, parando sobre cada caixa, com marcas de não nas três primeiras e uma marca de sim na quarta, onde está o 23 procurado. As caixas seguintes ficam esmaecidas, indicando que não foram examinadas.
A busca linear examina um item de cada vez até achar o 23; ao encontrar, para e ignora o resto.

A virtude e o custo da busca linear

A grande virtude da busca linear é a universalidade: ela funciona em qualquer coleção, não importa se está ordenada, embaralhada ou em que formato. Isso a torna a escolha certa quando os dados estão fora de ordem e você não quer ou não pode ordená-los antes. O custo, porém, cresce com o tamanho. No melhor caso, o item procurado é o primeiro, e uma comparação basta. No pior caso, ele está no fim ou não existe, e você precisa conferir todos os itens. Em média, examina metade. Para uma lista de dez itens, isso é rápido; para uma de dez milhões, uma única busca pode custar dez milhões de comparações, e se o programa faz muitas buscas, o peso soma. Essa relação entre tamanho e esforço é a semente do módulo de eficiência, e é o que motiva a busca binária da próxima aula.

🎮 Jogo da aula

Quantas comparações até achar?

A busca linear procura o número 9 nesta lista, examinando da esquerda para a direita. Quantas comparações ela faz até achar?

lista <- [3, 7, 1, 9, 5]
// busca linear pelo 9, contando cada comparação
// compara 3? não. 7? não. 1? não. 9? sim!

Quando a busca linear é a escolha certa

Apesar de simples, a busca linear não é uma técnica inferior a ser abandonada; ela é a ferramenta certa em várias situações. Quando a lista é pequena, a diferença de velocidade para métodos mais espertos é irrelevante, e a simplicidade compensa. Quando os dados não estão ordenados e você faria só uma ou duas buscas, ordenar primeiro daria mais trabalho do que economizaria. E quando a estrutura não permite pular para o meio (algumas formas de guardar dados só deixam avançar de um em um), a busca linear é a única opção. O erro não é usar busca linear, é usá-la em listas enormes que você consulta o tempo todo sem perceber que existe um caminho muito mais rápido quando os dados estão em ordem, que é justamente o que vem a seguir.

Teste rápido

Qual é a principal vantagem da busca linear sobre métodos de busca mais rápidos?

Perguntas frequentes

O que é busca linear?
É procurar um item conferindo cada elemento da coleção, do primeiro ao último, até encontrar ou até acabar. Também se chama busca sequencial. É o jeito mais natural de procurar, o mesmo que você faz ao correr o dedo por uma lista bagunçada atrás de um nome.
A busca linear precisa da lista ordenada?
Não, e essa é sua maior vantagem: funciona em qualquer lista, ordenada ou embaralhada. Ela só compara cada item com o procurado, sem depender de ordem. Métodos mais rápidos, como a busca binária, exigem dados em ordem; a busca linear não.
Qual o custo da busca linear?
No pior caso (item no fim ou ausente), ela examina todos os itens; em média, metade; no melhor caso, um só. Ou seja, o esforço cresce com o tamanho da lista. Para listas pequenas isso é irrelevante; para listas enormes consultadas com frequência, o custo pesa.
Quando devo preferir a busca linear?
Quando a lista é pequena, quando os dados não estão ordenados e você faria poucas buscas, ou quando a estrutura só permite avançar de um em um. Nesses casos, a simplicidade da busca linear compensa, e ordenar antes não valeria o esforço.
Por que usar interromper na busca linear?
Para parar assim que encontra o item, sem varrer o resto à toa, exatamente a ideia de sair cedo do módulo de controle de laços. Se o item procurado costuma aparecer antes do fim, o interromper economiza muitas comparações. Sem ele, o laço continuaria até o fim mesmo depois de achar.
E se o item aparecer mais de uma vez?
A busca linear básica encontra a primeira ocorrência e para. Se você precisa de todas, tira o interromper e guarda cada posição em que o item aparece, percorrendo a lista inteira. Depende do que a busca precisa responder: existe? onde está a primeira? quantas vezes aparece?

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.