您的位置:首页 > 其它

贪心法实现无向图的划分

2015-11-20 17:34 162 查看
给定一个无向图,使用贪心算法划分其节点,希望集合数目越来越少。

矛盾:贪心算法总是局部最优,对于整个问题的求解不一定是最优的。

想法:使用韦尔奇鲍威尔算法来求解该问题。

鲍威尔算法:把图的节点按度的降序排列,第一种颜色对第一点着色,按照着色顺序把非临阶点着色;然后是第二种。。。。。。直到全部上色。

对于节点集合按照度的降序排列,使用sort方法。

sort(begin,end)表示比较从begin到end的数据,默认是升序

int a[20]
sort(a,a+10);


把数组a的前11个元素升序排列。

实现sort的降序排列需要自己写比较函数

int a[20];
bool compare(int a,int b)
{
return a>b;//降序排列
}
sort(a,a+20,compare);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: