🎯 Lista Ligada (Computação)

Em poucas palavras

Uma lista ligada é uma estrutura de dados linear onde os elementos (chamados de nós) não são armazenados em locais contíguos na memória. Em vez disso, cada nó contém o seu dado e um ponteiro (referência) que indica o endereço do próximo nó na sequência.


📝 Notas e Desenvolvimento

  • Estrutura do Nó: Cada unidade fundamental da lista é composta por dois campos: Data (o valor real) e Next (o link para o próximo elemento).
  • Alocação Dinâmica: Diferente dos arrays, o tamanho de uma lista ligada não é fixo. Ela cresce e diminui conforme a necessidade durante a execução do programa.
  • Eficiência de Inserção/Remoção: É extremamente rápida para adicionar ou remover elementos em qualquer posição (especialmente no início), pois basta alterar os Ponteiros, sem precisar “empurrar” todos os outros elementos da memória.
  • Acesso Sequencial: O ponto fraco é a busca. Para encontrar o 10º elemento, você obrigatoriamente precisa percorrer os 9 anteriores, resultando em uma complexidade de tempo de .
  • Tipos Comuns:
    • Simples: Cada nó aponta apenas para o próximo.
    • Duplamente Ligada: Cada nó aponta para o próximo e para o anterior.
    • Circular: O último nó aponta de volta para o primeiro.

🔗 Conexões e Contexto

  • Atlas: MdC - Programação, MdC - Gestão de conhecimento pessoal
  • Notas Relacionadas:
    • Arrays vs. Listas Ligadas: Enquanto arrays ganham no acesso direto (), as listas ganham na flexibilidade de memória.
    • Uso em Pilhas e Filas: Listas ligadas são frequentemente a base para implementar estruturas de Stacks (LIFO) e Queues (FIFO).
    • Gerenciamento de Memória: Conceito fundamental para entender como linguagens de baixo nível (C/C++) manipulam o Heap.

📚 Referências e Fontes