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

https://github.com/pedro-manoel/atal

Repositório com as atividades e matérias desenvolvidas ao longo da disciplina de Análise e Técnica de Algoritmos da UFCG
https://github.com/pedro-manoel/atal

brute-force dinamic-programming divide-and-conquer graph java python

Last synced: 8 months ago
JSON representation

Repositório com as atividades e matérias desenvolvidas ao longo da disciplina de Análise e Técnica de Algoritmos da UFCG

Awesome Lists containing this project

README

          


🖥️ Análise e Técnica de Algoritmos - UFCG


## 📝 Descrição

Repositório com as atividades e matérias desenvolvidas ao longo da disciplina.

## ✨ Atividades

### 🔖 Listas Práticas

| Lista | Tema abordado | Repositório |
|:-----:|:------------------------------------------:|----------------------------------|
| 00 | Conceitos Básicos (Usada para teste) | [Link](atividades/listas/lp_00/) |
| 01 | Força Bruta | [Link](atividades/listas/lp_01/) |
| 02 | Divisão e Conquista / Programação Dinâmica | [Link](atividades/listas/lp_02/) |
| 03 | Grafos | [Link](atividades/listas/lp_03/) |

## 📚 Matérias Produzidos

### 📘 Conteúdos

| Conteúdo | Tema abordado | Excalidraw | SVG |
|:--------:|:-------------------------------------------------------------:|-------------------------------------------------------------------------------------------:|-------------------------------------------------------------------------------------|
| 01 | Soma de Primitivas | [Link](materias/conteudos/1.%20soma_primitivas.excalidraw) | [Link](materias/conteudos/1.%20soma_primitivas.svg) |
| 02 | Análise Assintótica | [Link](materias/conteudos/2.%20analise_assintotica.excalidraw) | [Link](materias/conteudos/2.%20analise_assintotica.svg) |
| 03 | Análise de Algoritmos Recursivos | [Link](materias/conteudos/3.%20analise_algoritmo_recursivo.excalidraw) | [Link](materias/conteudos/3.%20analise_algoritmo_recursivo.svg) |
| 04 | Análise de Algoritmos Recursivos com o Método Mestre | [Link](materias/conteudos/4.%20analise_algoritmo_recursivo_metodo_mestre.excalidraw) | [Link](materias/conteudos/4.%20analise_algoritmo_recursivo_metodo_mestre.svg) |
| 05 | Análise de Algoritmos Recursivos com o Método da Substituição | [Link](materias/conteudos/5.%20analise_algoritmo_recursivo_metodo_substituicao.excalidraw) | [Link](materias/conteudos/5.%20analise_algoritmo_recursivo_metodo_substituicao.svg) |
| 06 | Análise Amortizada | [Link](materias/conteudos/6.%20analise_amortizada.excalidraw) | [Link](materias/conteudos/6.%20analise_amortizada.svg) |
| 07 | Prova de Corretude de Algoritmos Iterativos | [Link](materias/conteudos/7.%20prova%20_de_corretude_de_algoritmos_iterativos.excalidraw) | [Link](materias/conteudos/7.%20prova%20_de_corretude_de_algoritmos_iterativos.svg) |
| 08 | Prova de Corretude de Algoritmos Recursivos | [Link](materias/conteudos/8.%20prova%20_de_corretude_de_algoritmos_recursivos.excalidraw) | [Link](materias/conteudos/8.%20prova%20_de_corretude_de_algoritmos_recursivos.svg) |

### 📙 Resumos (Listas Presenciais)

| Lista | Tema abordado | PDF | Excalidraw | SVG |
|:-----:|:-------------------------------------------------------:|--------------------------------------:|----------------------------------------------|---------------------------------------|
| 01 | Análise de Algoritmos / Prova de Corretude | [Link](materias/resumos/Lista_01.pdf) | - | - |
| 02 | Força Bruta / Backtracking / Branch and Bound / Gulosos | - | - | - |
| 03 | Divisão e Conquista / Programação Dinâmica | [Link](materias/resumos/Lista_03.pdf) | [Link](materias/resumos/Lista_03.excalidraw) | [Link](materias/resumos/Lista_03.svg) |
| 04 | Grafos | [Link](materias/resumos/Lista_04.pdf) | [Link](materias/resumos/Lista_04.excalidraw) | [Link](materias/resumos/Lista_04.svg) |

## 🧩 Códigos Desenvolvidos

### 📌 Algoritmos

#### 📍 Força Bruta

| Nome | Código |
|:---------------------------:|:----------------------------------------------------------------------|
| Permutation | [Link](codigos/algoritmos/forca_bruta/permutation.py) |
| Permutation with Repetition | [Link](codigos/algoritmos/forca_bruta/permutation_with_repetition.py) |
| String Matching | [Link](codigos/algoritmos/forca_bruta/string_matching.py) |

#### 📍 Divisão e Conquista

| Nome | Código |
|:----------------:|:-----------------------------------------------------------------|
| Binary Search | [Link](codigos/algoritmos/divisao_conquista/binary_search.py) |
| Count Inversions | [Link](codigos/algoritmos/divisao_conquista/count_inversions.py) |
| Div Array | [Link](codigos/algoritmos/divisao_conquista/div_array.py) |
| Divide | [Link](codigos/algoritmos/divisao_conquista/divide.py) |
| Hanoi | [Link](codigos/algoritmos/divisao_conquista/hanoi.py) |
| Maximum | [Link](codigos/algoritmos/divisao_conquista/maximum.py) |
| Merge Sort | [Link](codigos/algoritmos/divisao_conquista/merge_sort.py) |
| Minimum | [Link](codigos/algoritmos/divisao_conquista/minimum.py) |
| Multiply | [Link](codigos/algoritmos/divisao_conquista/multiply.py) |
| Potency | [Link](codigos/algoritmos/divisao_conquista/potency.py) |
| Quick Sort | [Link](codigos/algoritmos/divisao_conquista/quick_sort.py) |
| Sum Array | [Link](codigos/algoritmos/divisao_conquista/sum_array.py) |

#### 📍 Programação Dinâmica

| Nome | Código |
|:------------------------------------:|:----------------------------------------------------------------------------------|
| Binomial | [Link](codigos/algoritmos/programacao_dinamica/binomial.py) |
| Min Coins | [Link](codigos/algoritmos/programacao_dinamica/min_coins.py) |
| Fatorial | [Link](codigos/algoritmos/programacao_dinamica/fatorial.py) |
| Fibonacci | [Link](codigos/algoritmos/programacao_dinamica/fibonacci.py) |
| Knapsack | [Link](codigos/algoritmos/programacao_dinamica/knapsack.py) |
| Longest Common Subsequence (LCS) | [Link](codigos/algoritmos/programacao_dinamica/longest_common_subsequence.py) |
| Longest Increasing Subsequence (LIS) | [Link](codigos/algoritmos/programacao_dinamica/longest_increasing_subsequence.py) |
| Maximum Subarray | [Link](codigos/algoritmos/programacao_dinamica/maximum_subarray.py) |

#### 📍 Grafos

| Nome | Código |
|:--------------------:|:----------------------------------------------------------|
| Bellman Ford | [Link](codigos/algoritmos/grafos/bellman_ford.py) |
| BFS | [Link](codigos/algoritmos/grafos/bfs.py) |
| DFS | [Link](codigos/algoritmos/grafos/dfs.py) |
| Dijkstra | [Link](codigos/algoritmos/grafos/dijkstra.py) |
| Prim | [Link](codigos/algoritmos/grafos/prim.py) |
| SCC Directed Graph | [Link](codigos/algoritmos/grafos/scc_directed_graph.py) |
| SCC Undirected Graph | [Link](codigos/algoritmos/grafos/scc_undirected_graph.py) |
| Simple BFS | [Link](codigos/algoritmos/grafos/simple_bfs.py) |
| Simple DFS | [Link](codigos/algoritmos/grafos/simple_dfs.py) |
| Topological Sorting | [Link](codigos/algoritmos/grafos/topological_sorting.py) |
| Transpose | [Link](codigos/algoritmos/grafos/transpose.py) |

### 📌 Extras

| Nome | Código | Descrição |
|:----------------:|:------------------------------------------:|:------------------------------------------------------------:|
| Binary Tree | [Link](codigos/extras/binary_tree.py) | Classe Python que representa uma árvore binaria |
| Heap Permutation | [Link](codigos/extras/heap_permutation.py) | Algoritmo de permutação baseada em Heap |
| Fast Reader | [Link](codigos/extras/FastReader.java) | Classe Java que realiza leituras, da entrada padrão, rápidas |

## 🚀 Tecnologias, Ferramentas e Plataformas

* [Python](https://www.python.org/) - Linguagem de programação
* [Java](https://www.java.com/pt-BR/) - Linguagem de programação
* [Excalidraw](https://excalidraw.com/) - Ferramenta de desenho
* [Virtual Judge](https://vjudge.net/) - Plataforma de submissão de exercícios
* [Python Tutor](http://pythontutor.com/) - Plataforma de visualização de execução de código python