Caracterizando Estruturas de Dados

Entenda as diferenças intrínsecas entre ‘lists’, ‘sets’, ‘maps’, ‘bags’ e escolha a coleção correta para resolver ou otimizar seu problema.
05 novembro 2024
imagem mostra uma mulher usando seu smartphone enquanto está em pé na frente de um quadro eletrônico que exibe dados financeiros. Este visual simboliza a integração da sustentabilidade em tecnologia e práticas comerciais, destacando a importância do desenvolvimento sustentável na era digital moderna. O uso da tecnologia no monitoramento e promoção de iniciativas sustentáveis é um tema-chave representado nesta imagem.
Uma mulher em frente a um quadro eletrônico exibindo dados financeiros, usando seu smartphone, representando o conceito de sustentabilidade em tecnologia e práticas comerciais.
Dailton Santana de Almeida
Software Engineering Lead
Tempo de leitura
Minutos
Compartilhar artigo


Ainda vejo os desenvolvedores, independente da senioridade, com muitas dificuldades de identificar as caraterísticas da melhor estrutura de dados (provida pela linguagem) que pode, ou deve, ser usada para resolver determinado algoritmo ou problema.
Boa parte desta dificuldade vem de não conseguir diferenciar intrinsecamente as características de cada uma delas.
Este post vai procurar explorar as estruturas básicas, bem como finalizar com um exemplo de como uma estrutura de dados correta pode otimizar MUITO um algoritmo.



Critérios de caracterização

Noção de ordem

Noção de repetição

Acesso (de um elemento individual)

Tá enrolando muito; classifica logo!

Lists

Sets

SortedSets

E esse “Bag” aí que não tem na linguagem?

E os “Maps”?

Algumas perguntas que podem vir dessa classificação

Otimizando um algoritmo usando estruturas de dados

Conclusão