DEV Community

Phyllipe Bezerra
Phyllipe Bezerra

Posted on • Updated on

Entendendo e aplicando estruturas de dados com Typescript

Estrutura do que?

Algoritmos e estrutura de dados são dois termos que a gente escuta bastante ao longo da carreira como desenvolvedor, geralmente a maioria dos desenvolvedores sabem que esses dois pontos são bem importantes, porém devido ao nível de abstração que as linguagens de programação já se encontram, dificilmente o programador vai precisar implementar alguma estrutura de dados a partir do zero e com certeza já vai ter uma função já da linguagem ou até mesmo uma biblioteca que faça o serviço necessário. Mas parando para pensar, se estruturas de dados e algoritmos são usados por detrás dos panos já pra deixar tudo mais eficiente e rápido, por que não aprender sobre pra deixar o nosso código mais eficiente por exemplo?

Mas afinal, o que são estruturas de dados? Resumindo, a gente pode pensar que é uma maneira específica de organizar os dados na memória do computador de uma forma que certas operações fiquem mais fáceis e mais eficientes. Você já convive com estruturas de dados diariamente no seu código, variáveis comuns já são estruturas de dados primitivas, ou seja, quando você digita aquele:

const variável = 10;
Enter fullscreen mode Exit fullscreen mode

Você acabou de definir uma estrutura de dados, ela está organizando os bits na memória do computador de forma que contenha o valor 10. Mas o que vamos falar é sobre estruturas de dados mais complexas.

Quais estruturas vamos aprender?

Atenção! Os artigos escritos tendem a focar na galera que está começando a aprender sobre as estruturas de dados, nenhum ou pouco código complexo será utilizado (caso tenha tentarei deixar o mais explicado possível).

Outro ponto é de que o conteúdo pode ser dinâmico, qualquer sugestão ou correção sintam-se a vontade para comentar!

Ao longo do tempo estarei escrevendo os artigos específicos para cada uma das estruturas abaixo, tentei manter de uma maneira em que o nível de complexidade seja crescente e que possamos utilizar conceitos reaproveitados de uma nas outras.

  1. Pilhas (Stacks)
  2. Filas (Queues)
  3. Hash Maps
  4. (Em Andamento) Hash Sets
  5. (Em Andamento) Listas Encadeadas
  6. (Em Andamento) Hash Tables
  7. (Em Andamento) Árvores
  8. (Em Andamento) Grafos

Top comments (0)