🎯 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) eNext(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.