关闭

贪心法实现无向图的划分

69人阅读 评论(0) 收藏 举报
分类:

给定一个无向图,使用贪心算法划分其节点,希望集合数目越来越少。

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

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

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

对于节点集合按照度的降序排列,使用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);
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:658次
    • 积分:120
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档