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
- Host: GitHub
- URL: https://github.com/pedro-manoel/atal
- Owner: Pedro-Manoel
- License: mit
- Created: 2023-07-22T11:57:20.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-24T20:13:19.000Z (over 2 years ago)
- Last Synced: 2025-03-31T01:51:21.281Z (10 months ago)
- Topics: brute-force, dinamic-programming, divide-and-conquer, graph, java, python
- Language: Python
- Homepage:
- Size: 68.3 MB
- Stars: 18
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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