如何使用 c 打印 Bellman Ford 的路径和最终距离矩阵?

How to Print path and final distance matrix of Bellman Ford using c?

我试图实现 Bellman-Ford 但那不是 运行 我尝试了我知道的所有方法但我无法打印路径和距离矩阵在 C 中。任何人都可以给我解决方案吗?



    #include
    #include
    #include
    typedef struct edge
    {
        int s,d,w;
        struct edge *next;
    }Edge;
    typedef struct graph
    {
        int V,E;
        Edge *e;
    }graph;
    graph* createGraph(int v,int e)
    {
        graph* g=(graph*)malloc(sizeof(graph));
        g->V=v;
        g->E=e;
        g->e=(Edge*)malloc(sizeof(Edge)*e);
        return g;
    }
    void bellMan(graph *g,int src)
    {
        int v=g->V;
        int e=g->E;
        int dist[v],path[v];
        int i,j;
        for(i=0;ie[j].s;
                int y=g->e[j].d;
                int w=g->e[j].w;
                if(dist[x]!=INT_MAX && dist[x]+we[i].s;
            int y=g->e[i].d;
            int w=g->e[i].w;
            if(dist[x]!=INT_MAX && dist[x]+we[i].s,&g->e[i].d,&g->e[i].w);
        printf("Enter starting vertex:");
        scanf("%d",&s);
        bellMan(g,s);
        return 0;
    }

请帮助我如何打印路径和距离矩阵(其中指定了一个节点到另一个节点的距离)。

我不确定您希望收到什么样的答复。你的问题很不清楚。

但是这里你应该做的是:
1)检查您的矩阵是否正确表示图形。确保你明白诀窍。
2) https://www.youtube.com/watch?v=Ttezuzs39nk 观看麻省理工学院的讲座。
3)尝试其他算法。我建议Dijkstra,在我看来它更简单。