Menu
Coddy logo textTech

Implementation (Part 1)

Lição 5 de 9 do curso Algoritmo de Bellman-Ford - Algoritmos de Grafos da Coddy.

Primeiro, uma única passagem de relaxamento sobre todas as arestas.

challenge icon

Desafio

Médio

Bellman-Ford é apenas uma operação repetida: um passo de relaxamento sobre todas as arestas. Vamos construir um único passo.

Escreva uma função chamada relaxAll que recebe n, o array plano edges (triplas, direcionadas, possivelmente negativas) e um source. Comece com dist[source] = 0 e todos os outros no infinito, então relaxe cada aresta uma vez (na ordem fornecida) e retorne as distâncias resultantes, usando -1 para vértices que ainda não foram alcançados.

Como é apenas um passo, vértices alcançáveis apenas através de várias arestas ainda podem ser -1. Isso é esperado.

Experimente você mesmo

#include <stdlib.h>

int* relaxAll(int n, int* edges, int edges_size, int source, int* returnSize) {
    // Escreva o código aqui
    *returnSize = 0;
    return edges;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Algoritmo de Bellman-Ford - Algoritmos de Grafos