Módulo 4 - Listas ligadas: a corrente de nós
Lista ligada ou vetor: cada um no seu forte
9 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 12/07/2026
O que você vai aprender
- Comparar o custo de acesso do vetor e da lista ligada.
- Comparar o custo de inserir e remover nas duas estruturas.
- Escolher a estrutura conforme a operação mais frequente.
- Evitar a ideia falsa de que uma estrutura é melhor em tudo.
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: Lista ligada ou vetor: cada um no seu forte.
Os objetivos desta aula. Comparar o custo de acesso do vetor e da lista ligada. Comparar o custo de inserir e remover nas duas estruturas. Escolher a estrutura conforme a operação mais frequente. Evitar a ideia falsa de que uma estrutura é melhor em tudo.
Veja o essencial, parte por parte.
Duas forças diferentes. Vetor: acesso direto por índice (rápido), mas inserir ou remover no meio é caro (empurra tudo).
Escolher pela pergunta certa. A decisão fica fácil quando você inverte a ordem: em vez de perguntar qual estrutura é melhor, pergunte o que o programa faz o tempo todo.
O meio-termo da prática. Liste a operação que o programa mais repete (ler por posição? inserir no meio?).
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Duas forças diferentes
As duas estruturas guardam uma sequência de valores, mas resolvem trocas opostas, e entender essa oposição é o que faz você escolher bem. O vetor mantém tudo encostado e numerado, então acessar a posição 500 é um cálculo instantâneo: ele sabe exatamente onde ela mora. Em compensação, mexer no meio custa caro, porque abrir ou fechar espaço obriga a empurrar os vizinhos. A lista ligada faz o contrário: mexer no meio é só religar, mas ela não tem numeração, então achar a posição 500 exige caminhar 500 nós. Uma é forte onde a outra é fraca. Não há vencedora absoluta, há a adequada para o que o seu programa faz mais vezes.
Vetor (array)
- Acesso por índice: rápido, um passo (item[500] é direto).
- Inserir ou remover no meio: caro, empurra os vizinhos.
- Guarda tudo num bloco contínuo de memória.
- Crescer pode exigir copiar tudo para um bloco maior.
- Ótimo quando você lê muito por posição.
Lista ligada
- Acesso por posição: lento, percorre a corrente (nó a nó).
- Inserir ou remover onde você está: barato, só religa.
- Nós espalhados, amarrados por ligações.
- Crescer é só criar e engatar mais um nó.
- Ótimo quando você insere e remove muito no meio.
Escolher pela pergunta certa
A decisão fica fácil quando você inverte a ordem: em vez de perguntar qual estrutura é melhor, pergunte o que o programa faz o tempo todo. Se ele consulta muito por posição, mostrar o item de número tanto, saltar para o meio de uma tabela, o vetor ganha disparado, porque cada consulta é um passo. Se ele passa a vida inserindo e removendo elementos em pontos que já estão à mão, uma fila de tarefas que muda toda hora, uma lista de reprodução onde você arrasta músicas, a lista ligada brilha, porque cada mexida é só religar. A pergunta não é qual é a melhor estrutura do mundo, e sim qual operação eu repito mais, e depois escolher a estrutura que faz justamente essa operação barata.
🎮 Jogo da aula
Vetor ou lista ligada?
Cada situação favorece uma estrutura. Classifique conforme a operação mais frequente pede um vetor ou uma lista ligada.
O meio-termo da prática
Na vida real, a fronteira é menos rígida do que a teoria sugere. Muitas linguagens têm um vetor dinâmico, aquela lista comum do Python ou do JavaScript, que já cresce sozinho e é tão prático que serve para a maioria dos casos, mesmo com inserção no meio ocasional. A lista ligada pura aparece mais quando o padrão de uso é claramente de muita inserção e remoção, ou por baixo de outras estruturas, como filas e pilhas. O valor de estudar as duas não é decorar qual usar em cada linha de código, e sim ganhar o raciocínio de custo: toda estrutura troca uma coisa por outra, e escolher bem é saber qual troca o seu problema aceita.
Teste rápido
Um programa precisa, o tempo todo, ler o elemento de uma posição qualquer da coleção (o item 10, depois o 900, depois o 3). Qual estrutura é mais adequada e por quê?
Perguntas frequentes
- Existe uma estrutura melhor que a outra?
- Não em termos absolutos. Cada uma é forte onde a outra é fraca: o vetor no acesso por índice, a lista ligada na inserção e remoção no meio. A resposta certa é sempre relativa ao que o programa faz mais. Perguntar qual é melhor sem contexto não tem resposta boa.
- Por que o acesso por índice é rápido no vetor?
- Porque os elementos ficam encostados na memória, em posições calculáveis. Sabendo onde começa o vetor e o índice desejado, o computador calcula direto o endereço do elemento e vai até lá num passo, sem percorrer nada. É o que a lista ligada não consegue fazer.
- A lista ligada é sempre mais lenta para acessar?
- Para acessar uma posição específica pelo número, sim: ela precisa caminhar pela corrente. Mas se você vai percorrer todos os elementos em ordem, de uma ponta à outra, o custo se equipara, porque em ambos os casos você visita cada elemento uma vez.
- Quando a inserção no vetor não é cara?
- Quando é no fim. Acrescentar no final de um vetor costuma ser barato, porque não empurra ninguém (a menos que ele precise crescer). O custo alto do vetor é inserir ou remover no começo ou no meio, onde todos os elementos seguintes se deslocam.
- Na prática, uso lista ligada com frequência?
- Diretamente, pouco: o vetor dinâmico da linguagem resolve a maioria dos casos. Mas a lista ligada aparece por baixo de filas, pilhas e outras estruturas, e o raciocínio de custo que ela ensina vale para todas as decisões de estrutura de dados.
- Como o consumo de memória se compara?
- A lista ligada gasta um pouco mais por elemento, porque cada nó guarda, além do valor, a ligação para o próximo. O vetor guarda só os valores encostados. Em troca, o vetor pode reservar espaço a mais para crescer. É mais uma troca a considerar na escolha.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.