O repositório foi criado com o objetivo de documentar todos os códigos implementados na disciplina de AED's-II do curso de Ciência da Computação da PUC-MC. Serão abordados os assuntos:
-
Tipos abstratos de dados básicos: pilhas, filas, filas de prioridade e conjuntos dinâmicos.
-
Estruturas de dados dinâmicas: heaps, listas encadeadas, árvores, tabelas hash.
-
Ordenação e pesquisa em memória principal.
-
Fundamentos de análise de algoritmos: complexidades, notação O e análise de melhor e pior casos para algoritmos iterativos.
Como o objetivo da disciplina é aprender sobre o funcionamento das estruturas e dos algoritmos evitamos ao máximo o uso dos recursos facilitadores (exemplo das Collections em Java) já embutidos em algumas das linguagens.
O repositório está dividido em pastas e subpastas, cada pasta tem uma lista de tarefas proposta e em suas respectivas subpastas está a resolução de cada uma das tarefas.
Antes de tentar executar qualquer um dos códigos você deve baixar o conjunto de dados necessário, descompactá-lo e copiar para dento da pasta /tmp/ no Linux (caso você use o windows deixo para você a tarefa de pesquisar como fazer rs).
ATENÇÃO: Quando reiniciamos o Linux, ele normalmente apaga os arquivos existentes na pasta /tmp/, então todas as vezes que você ligar o computador novamente precisará copiar a pasta com os dados novamente para pasta /tmp/. Tem como configurar para que a pasta não seja apagada, mas novamente deixo essa pesquisa por sua conta. 😊
É necessario ter instalado na máquina as Linguagens:
- Java
- C
A execução e teste dos códigos pode ser feita pelo terminal usando redirecionamento de entrada e saída.
Quando cursei a disciplina usei o Vim para editar o código 🙃 e comandos no terminal do Ubuntu para executar e testar o código. Porém, para subir o codigo para o github e fazer qualquer correção vou usar o vscode por questão de praticidade 😇.
- Java
- C
- Vim
- VS Code
The MIT License (MIT)
Copyright ©️ 2020 - Algoritmos e Estruturas de Dados