Repositório de estudos onde implemento, em Python, algoritmos e estruturas de dados fundamentais da ciência da computação: buscas, ordenações, grafos, recursão, hashing e algoritmos de aproximação. Cada arquivo é independente e executável isoladamente, servindo como referência prática dos conceitos vistos ao longo do curso.
| Arquivo |
Descrição |
| BinarySearch.py |
Busca binária: encontra a posição de um valor em uma lista ordenada dividindo o espaço de busca ao meio a cada passo. |
| QuickSort.py |
QuickSort: ordena uma lista recursivamente escolhendo um pivô e particionando os elementos menores e maiores que ele. |
| SortBySelection.py |
Selection Sort: ordena uma lista buscando repetidamente o menor elemento restante e movendo-o para a posição correta. |
| Graphs.py |
Busca em largura (BFS) em um grafo representado por dicionário, usada para encontrar uma pessoa que satisfaça uma condição. |
| TableHash.py |
Tabela hash: exemplo de uso de um dicionário Python para associar produtos aos seus preços. |
| Sets.py |
Conjuntos (sets): demonstra as operações de união, interseção e diferença entre dois conjuntos. |
| Approximation.py |
Algoritmo guloso (aproximação) para o problema de cobertura de conjuntos, selecionando estações de rádio que cobrem o maior número de estados. |