Array e Lista

Lista e Array

Esse pequeno artigo tem por finalidade definir os conceitos de array e lista como estruturas de dados na computação. Essas estruturas possuem características um pouco distintas, portanto é importante conhecer um pouco dos seus pormenores para fazer um uso adequado de ambas.

Array (vetor)

Um vetor é uma variável que armazena dentro dela diversas variáveis de um mesmo tipo de forma ordenada. Cada item dentro de um vetor é representado e pode ser acessado por um identificador chamado índice ou chave.



Lista

Uma lista é um conjunto de estruturas chamadas nós. Cada nó é uma estrutura que armazena a informação gerenciada pela lista e um apontador para o próximo elemento da lista.

Existem dois tipos de listas: ligadas (ou encadeadas) e duplamente ligadas.

A diferença entre ambas é que o nó na lista duplamente ligada guarda informações tanto do próximo elemento quanto do elemento anterior, assim possibilitando uma navegação começando do início ou do fim da lista.

Lista ligada:


Lista duplamente ligada:


Diferença entre eles

Um array ocupa espaço fixo na memória, o que impossibilita a inserção de novos elementos.

A lista ocupa espaço dinâmico, a variar da quantidade de elementos existentes, porém, como cada elemento possui a informação do próximo, é preciso percorrer todos eles a fim de se adicionar um novo.

List do Python

O list dentro do Python pode ser considerado um aprimoramento do array (chamado de array dinâmico). Primeiro, por permitir a variedade de tipos de elementos contidos dentro dele e segundo por permitir a inserção de elementos de forma dinâmica.

Quando usar cada uma das estruturas

A particularidade de uso de cada um refere-se à necessidade da definição desse conjunto. Quando não se tem uma informação de quantos elementos estarão contidos na estrutura, é sugerido que se dê preferência à lista, por permitir uma alocação dinâmica desses valores. Quando tem-se uma estrutura de tamanho fixo, o array é mais conveniente por oferecer maior desempenho já que a memória a ser utilizada por ele é definida previamente. 

Conclusão

Cada uma das estruturas possui vantagens e desvantagens. Um array se caracteriza pelo bom desempenho e fácil acesso aos elementos, mas peca no dinamismo por conta do tamanho fixo. A lista entrega menos desempenho pela necessidade de percorrer todos os elementos a fim de procurar um específico ou fazer operações como adição. Apesar de terem definições fixas dentro do contexto da computação, algumas linguagens de programação oferece estruturas de dados que reúne características de ambas proporcionando uma grande versatilidade. 


Comentários

Postagens mais visitadas deste blog

Pilha e Fila