Este repositório contém algumas notas de aula da disciplina SIN5013 - Análise de Algoritmos e Estruturas de Dados, ministrada no primeiro semestre de 2021 por Luciano Antonio Digiampietri.
Os resumos foram desenvolvidos em latex e seus códigos / imagens são encontrados na pasta Latex. Os relatórios PDF foram movidos para a pasta PDF.
Códigos em Python e R usados nos relatórios podem ser encontrados na pasta Code.
Os relatórios tratam de:
-
Complexidade de Algoritmos: Funções de complexidade, crescimento assintótico e notações para crescimento assintótico;
-
Recursão: Indução matemática, problemas recursivos e equações de recorrência.
-
Técnicas de Programação: Divisão e Conquista, teorema mestre, tentativa e erro e algoritmos gulosos;
-
Algoritmos de Ordenação: Insertion Sort, Selection Sort, Bubble Sort, Mergesort, Quicksort, Heap Sort, Counting Sort e Radix Sort;
-
Estruturas de Dados Elementares: Lista sequencial, lista ligada, pilha, fila, deque e matrizes esparsas.
-
Árvores: Árvores Binárias de Busca e Árvores AVL;
-
Grafos: Implementação como lista de adjacências, algoritmo de busca em profundidade, busca em largura e algoritmos de Dijkstra, Bellman-Ford, Floyd Warshall e ciclo hamiltoninano.
Os últimos textos não foram concluídos, mas seus algoritmos já estão no repositório.
Se encontrarem um erro nos textos (o que é bem provável) ou nos códigos, podem abrir um pull request ou uma issue sobre o tema. Adições também são bem vindas :)