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.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Busca linear: procurar do começo ao fim.
Os objetivos desta aula. 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.
Veja o essencial, parte por parte.
Conferir um por um. A busca linear confere cada item, do primeiro ao último, até achar o procurado.
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.
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.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
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")
fimA busca linear percorre até achar o 23 (na posição 3) e para. Repare que a lista nem precisa estar em ordem.
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.