Fila de Prioridade em Zig: Binary Heap Min-Heap
Para implementar uma fila de prioridade em Zig, use um binary heap sobre um ArrayList. Em uma min-heap, o menor elemento fica na raiz; cada pai é menor ou igual aos …
Para implementar uma fila de prioridade em Zig, use um binary heap sobre um ArrayList. Em uma min-heap, o menor elemento fica na raiz; cada pai é menor ou igual aos …
Ordenação Topológica em Zig: Algoritmo de Kahn e Detecção de Ciclos A ordenação topológica em Zig organiza os vértices de um grafo direcionado para que toda dependência …
BFS em Zig: Busca em Largura, Menor Caminho e Fila A BFS em Zig (Breadth-First Search ou busca em largura) percorre um grafo por níveis: primeiro visita a origem, depois …
Dijkstra em Zig: Caminho Mínimo Passo a Passo O algoritmo de Dijkstra encontra o menor custo de um vértice de origem até todos os outros vértices alcançáveis de um grafo …
Bellman-Ford em Zig: Caminho Mínimo e Ciclos Negativos O algoritmo de Bellman-Ford encontra o caminho de menor custo entre um vértice de origem e todos os demais vértices …
Algoritmo de Euclides em Zig: MDC, MMC e Inverso Modular Para calcular o MDC em Zig, aplique repetidamente a transformação (a, b) = (b, a % b) até que b seja zero. O …
Algoritmos em Zig — Implementações com Explicações em Português Bem-vindo à coleção completa de algoritmos implementados na linguagem Zig. Cada página contém explicações …
Busca Exponencial em Zig — Implementação e Explicação A Busca Exponencial é um algoritmo que combina busca exponencial com busca binária. Primeiro, ela encontra um …
Busca Linear em Zig — Implementação e Explicação A Busca Linear (ou busca sequencial) é o algoritmo de busca mais simples. Ela percorre cada elemento da coleção …
Busca por Interpolação em Zig — Implementação e Explicação A Busca por Interpolação é uma variante da busca binária que estima a posição do elemento procurado com base na …
Busca Ternária em Zig: Funções Unimodais, Máximo e Mínimo A busca ternária em Zig é mais útil para encontrar o máximo ou mínimo de uma função unimodal: uma função que …
Coin Change em Zig: Problema do Troco com Programação Dinâmica O Coin Change, conhecido em português como problema do troco, consiste em formar um valor usando um …
Counting Sort em Zig — Implementação e Explicação O Counting Sort (ordenação por contagem) é um algoritmo de ordenação não-comparativo que funciona contando o número de …
Crivo de Eratóstenes em Zig — Implementação e Explicação O Crivo de Eratóstenes é um algoritmo milenar para encontrar todos os números primos até um limite N. É …
DFS (Busca em Profundidade) em Zig — Implementação e Explicação A DFS em Zig (Depth-First Search ou busca em profundidade) percorre um grafo avançando por um caminho até …
Exponenciação Rápida em Zig — Implementação e Explicação A exponenciação rápida (binary exponentiation) calcula a^n em O(log n) em vez de O(n). A ideia é que a^n pode ser …
Fibonacci (Programação Dinâmica) em Zig — Implementação e Explicação A sequência de Fibonacci é uma das sequências mais famosas da matemática: cada número é a soma dos …
Fibonacci por Exponenciação de Matriz em Zig — Implementação e Explicação Calcular o n-ésimo número de Fibonacci em O(log n) usando exponenciação de matrizes. A ideia se …
Floyd-Warshall em Zig — Implementação e Explicação O algoritmo de Floyd-Warshall encontra os caminhos mais curtos entre todos os pares de vértices em um grafo ponderado …
KMP (Knuth-Morris-Pratt) em Zig — Implementação e Explicação O algoritmo KMP (Knuth-Morris-Pratt) busca ocorrências de um padrão em um texto de forma eficiente, sem …
LIS (Maior Subsequência Crescente) em Zig — Implementação e Explicação O algoritmo LIS (Longest Increasing Subsequence) encontra a maior subsequência estritamente …
Matrix Chain Multiplication em Zig — Implementação e Explicação O problema da Multiplicação em Cadeia de Matrizes determina a ordem ótima de parentização para multiplicar …
Merge Sort em Zig — Implementação e Explicação O Merge Sort (ordenação por intercalação) é um algoritmo de ordenação baseado na técnica de divisão e conquista. Ele divide …
Radix Sort em Zig — Implementação e Explicação O Radix Sort (ordenação por raiz/dígitos) é um algoritmo de ordenação não-comparativo que ordena números processando cada …