首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误成本邻接矩阵

错误成本邻接矩阵
EN

Stack Overflow用户
提问于 2022-10-31 13:27:09
回答 1查看 31关注 0票数 -2

首先求出权值的邻接矩阵,然后将其应用于最小权路的计算。有一个问题,当我试图显示它时,我得到了一个错误的结果:根据逻辑,对角线必须只有0,而在顶点相邻的地方,必须是边的权重。

代码语言:javascript
复制
//set the source and destination of each edge
g->edge[0]->src = 0;
g->edge[0]->dest = 1;
g->edge[0]->weight = 9;

g->edge[1]->src = 0;
g->edge[1]->dest = 10;
g->edge[1]->weight = 6;

g->edge[2]->src = 1;
g->edge[2]->dest = 2;
g->edge[2]->weight = 3;

g->edge[3]->src = 1;
g->edge[3]->dest = 10;
g->edge[3]->weight = 2;

g->edge[4]->src = 2;
g->edge[4]->dest = 3;
g->edge[4]->weight = 2;

g->edge[5]->src = 2;
g->edge[5]->dest = 6;
g->edge[5]->weight = 3;

g->edge[6]->src = 2;
g->edge[6]->dest = 5;
g->edge[6]->weight = 3;

g->edge[7]->src = 3;
g->edge[7]->dest = 4;
g->edge[7]->weight = 5;

g->edge[8]->src = 4;
g->edge[8]->dest = 5;
g->edge[8]->weight = 4;

g->edge[9]->src = 6;
g->edge[9]->dest = 10;
g->edge[9]->weight = 2;

g->edge[10]->src = 6;
g->edge[10]->dest = 7;
g->edge[10]->weight = 9;

g->edge[11]->src = 7;
g->edge[11]->dest = 8;
g->edge[11]->weight = 7;

g->edge[12]->src = 7;
g->edge[12]->dest = 9;
g->edge[12]->weight = 2;

g->edge[13]->src = 8;
g->edge[13]->dest = 9;
g->edge[13]->weight = 7;

g->edge[14]->src = 9;
g->edge[14]->dest = 10;
g->edge[14]->weight = 5;

我的代码:

代码语言:javascript
复制
  for (i = 0; i < numberOfVertices; i++)
    {
        adjacency_matrix[i][i] = 0;
        for (j = i + 1; j < numberOfVertices; j++)
        {
                adjacency_matrix[i][j] = g->edge[i]->weight;
                adjacency_matrix[j][i] = g->edge[i]->weight;
        }
    }

怎么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-31 13:39:59

代码语言:javascript
复制
  for (i = 0; i < numberOfVertices; i++)
    {
        adjacency_matrix[i][i] = 0;
        for (j = i + 1; j < numberOfVertices; j++)
        {
                adjacency_matrix[i][j] = g->edge[i]->weight;
                adjacency_matrix[j][i] = g->edge[i]->weight;
        }
    }

在这段代码中,您将设置为从顶点i到其他顶点到的每个边,的权重相同。我不认为这是你想要的。

(注:很难知道你想要什么。在报告问题时,需要包括对发生的事情和想要发生的事情的描述。“这是错误的!”作为一个错误报告几乎毫无用处。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74263987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档