最小生成树---在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储结构采用多种。

题目要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储结构采用多种。求解算法多种。求大家告知怎么采用kruscal方法,数组存储边的方式来完成。求大... 题目要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储结构采用多种。求解算法多种。
求大家告知怎么采用kruscal方法,数组存储边的方式来完成。求大侠帮忙~
能有详细的代码吗。。。
展开
 我来答
おうし様
2011-01-12 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:86万
展开全部
void kruscal(int e1[],int v[],int e[][][],int n)
{
int i,j;
for(i=0,j=0;j<n-1;i++)
if(v[e[i][1]]!=v[e[i][2]]) { y(e[i][1],e[i][2],n); e1[j++]=i; }
}
void y(int a,int b int v[],int n)
{
int i;
for(i=0;i<n;i++)
if(v[i]==a) v[i]=b;
}
//e1保存选中的边的下标,例如第一个边选的是e的第一条边,那么有:e1[0]==0。
//v是节点,保存一个标志,连在一起的标志相等,e保存的是距离和两个点。
//e数组要求是按照距离从小到大有序的,排序函数就不用我写了吧。
// n是节点数。
//函数y需要声明在调用它的函数前面,功能:把下标是a的都换成b。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pan017
2011-01-09 · TA获得超过732个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:92.3万
展开全部
迪杰斯特拉 算法…………
以某点 为顶点计算最短路径存入 path数组,循环n次找出最短的来!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caogencong
2011-01-10 · 超过25用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:73.7万
展开全部
一楼说的不对,迪杰斯特拉是求一个点好其他点的最小距离。
就应该用楼主的普里姆或者克鲁斯卡算法。
代码网上应该有,自己看书,肯定有的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-30
展开全部
迪杰斯特拉是求一个点好其他点的最小距离
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式