An open API service indexing awesome lists of open source software.

https://github.com/kauefraga/learning-data-structures

📩 Aprendendo estruturas de dados. PortuguĂȘs + Golang.
https://github.com/kauefraga/learning-data-structures

brazil brazilian-portuguese data-structures golang learn learning

Last synced: 6 months ago
JSON representation

📩 Aprendendo estruturas de dados. PortuguĂȘs + Golang.

Awesome Lists containing this project

README

          

# Learning Data Structures :brazil:

> 📩 Aprendendo estruturas de dados. Em portuguĂȘs + Golang.

## 📚 O que aprendi

VocĂȘ pode encontrar o cĂłdigo das estruturas em [`estruturas-de-dados`](estruturas-de-dados/).

- O que Ă© uma estrutura de dado?

> Uma estrutura de dado Ă© uma maneira em que os dados sĂŁo organizados para serem salvos, recuperados e manipulados. Tipo, vocĂȘ dobra suas roupas e as coloca no guarda-roupas de maneira que vocĂȘ ache elas facilmente depois... Ou, pelo menos, deveria đŸ˜…đŸ€­...

- O que Ă© um algoritmo e por que estĂĄ intimamente relacionado com as estruturas de dados?

> Um algoritmo Ă© uma sequĂȘncia de instruçÔes descritas para solucionar um problema (ou conjunto de problemas). Pense na sua rotina como um algoritmo da sua vida: primeiro vocĂȘ acorda, depois se levanta, etc. E o problema nesse caso Ă©... viver 😆. Agora pense em uma receita de bolo: primeiro vocĂȘ organiza os ingredientes (estrutura os dados), depois despeja-os em ordem seguindo uma sequĂȘncia de passos e finalmente leva tudo isso ao forno (um algoritmo).

> [!TIP]
> Veja meu repositório sobre os algoritmos em Golang, [learning-algorithms](https://github.com/kauefraga/learning-algorithms). Eu também escrevi um pouco sobre Golang em si, [learning-golang](https://github.com/kauefraga/learning-golang).

- Estruturas de dados primitivas e nĂŁo-primitivas

> Existem estruturas de dados primitivas, aquelas que todas as linguagens de programação tĂȘm, como: _integers_ para armazenar inteiros, _floats_ ou _doubles_ para armazenar decimais, _strings_ para armazenar sequĂȘncias de caracteres e _booleans_ para armazenar dois estados (verdadeiro ou falso). Existem tambĂ©m as estruturas nĂŁo-primitivas que geralmente sĂŁo definidas pelos usuĂĄrios e servem para organizar valores de mĂșltiplos tipos, como: arrays (a maioria das linguagens tĂȘm), fila (_queue_), pilha (_stack_), ĂĄrvore (_tree_), grafo (_graph_) e lista conectada (_linked list_).

> [!NOTE]
> As estruturas primitivas e nĂŁo-primitivas podem variar um pouco, por exemplo: em C nĂŁo existe a estrutura String mas existe o Char (carĂĄcter) e o Array (arranjo, sequĂȘncia), e com eles tu pode implementar uma espĂ©cie de String (sequĂȘncia de caracteres ou array de chars). EntĂŁo em C, String Ă© uma estrutura nĂŁo-primitiva enquanto Char e Array sĂŁo primitivas.

## 💖 Agradecimentos

Se chegou até aqui, muito obrigado! Decidi criar este repositório com o intuito de expor o que sei/aprendi sobre estruturas de dados da forma mais simples e didåtica possível para testar meu conhecimento sobre o assunto e, ajudar alguém a entender um pouco mais sobre isso, quem sabe.

## 📜 ReferĂȘncias

- [Primitive vs. non-primitive data structure](https://www.javatpoint.com/primitive-vs-non-primitive-data-structure)
- [Learn DSA - Geeks for Geeks](https://www.geeksforgeeks.org/learn-data-structures-and-algorithms-dsa-tutorial)
- [Learn DSA - Free Code Camp](https://www.freecodecamp.org/news/learn-data-structures-and-algorithms)

## 📝 Licença

Este projeto estĂĄ sob licença do MIT - Veja a [LICENÇA](https://github.com/kauefraga/learning-data-structures/blob/main/LICENSE) para mais informaçÔes.