Exercícios de
Estrutura de Dados

Por que entender as estrutura de dados é importante para o programador?

Quando você cursa alguma faculdade esse nome "estruturas de dados" dá até um frio na espinha, isso acontece porque muitos reprovam ao cursar essa disciplina e isso causa um certo trauma nos alunos. Realmente, a disciplina não é fácil e entender os conceitos que são apresentados não é uma tarefa trivial. 

As estruturas de dados são códigos altamente genéricos que são utilizados amplamente em diversos contextos. Os tipos de dados são chamados "TAD" ou Tipo Abstrato de Dados e possibilitam armazenar informações e fazer várias operações de forma mais eficiente. Portanto, ao aprender mais sobre esse assunto contribui para você começar a entender detalhes que mudam sua perspectiva de como funciona a programação.

Qual linguagem posso usar para praticar?

As estruturas de dados estão presentes em quase todas as linguagens (principalmente naquelas que são procedurais, orientadas a objetos). No entanto, muitas vezes para implementar as estruturas precisamos usar recursos que algumas linguagens "escondem" do programador.

Calma que eu explico.

O principal recurso que realmente faz falta nesse contexto são os ponteiros. As linguagens como Java, Python, Javascript não oferecem acesso aos ponteiros e isso acaba prejudicando nosso estudo. Uma das únicas linguagens que dão essa possibilidade ao programador atualmente é o C e o C++.

Portanto, eu recomendo que você pratique as estruturas de dados na linguagem que deixa você mais confortável. No entanto, saiba que estudar o funcionamento dos ponteiros e aprender um pouco de C ou C++ pode ser muito bom.

Que tipo de exercícios eu posso encontrar aqui?

Essa seção se concentra em exercícios práticos sobre estruturas de dados. Em geral, eles pedem para você:

1) implementar um trecho;
2) realizar a depuração de um trecho;
3) inferir qual será a saída de um determinado trecho de código.

Eu recomendo que você instale o ambiente da linguagem que você vai usar e faça os testes verificando instantaneamente se sua ideia realmente funciona.

Exercícios

Posso contribuir?

A sua contribuição em nosso repositório é muito bem vinda!

Todo nosso código com soluções dos exercícios fica armazenado no Github, portanto, você pode ajudar a manter nosso repositório funcional e bem documentado. Faça um fork em nosso repositório, faça suas alterações nos exercícios e abra um pull request.

O repositório também conta com uma lista de "TODO's" que podem ajudar você a localizar algumas tarefas que precisam ser feitas. Abra uma Issue para documentar o que você está fazendo e quais seus planos.