贪心法实现无向图的划分

原创 2015年11月20日 17:34:36

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

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

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

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

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

贪心法实现无向图的划分 代码

#include #include #include #include #include #include /*2013303405 14011306 陈铭丰 使用贪心算法求解无向图顶点划...

贪心算法_无向图最小生成树*

/*贪心算法_无向图最小生成树*/ #include #include #include using namespace std; int main() { int N, M; ...

贪心算法解决数列作为顶点度数构造无向图问题

问题描述: Given a list of n natural numbers d 1 , d 2,...,dn, show how to decide in polynomial ...

无向图所有路径算法实现 java

  • 2012年04月26日 11:14
  • 14KB
  • 下载

Java实现无向图邻接表

这个实现只考虑实现无向图邻接表的功能,底层使用HashMap。 提供了如下的API: 1. addEdge,添加一条边 2. removeEdge,删除某条边 3. containsEdge,...
  • esir82
  • esir82
  • 2017年12月02日 09:47
  • 64

无向图的邻接多重表结构,存储结构及基本功能实现(最全)

邻接多重表结构主要针对的是无向图进行的存储优化。详细概念可百度谷歌下。如果我们在无向图的应用中,关注的重点是顶点,那么邻接表是不错的选择,但如果我们更关注边的操作,比如对已访问过的边做标记,删除某一条...

【算法导论】22.7 无向图的广度优先搜索--C++实现

这是用无向图的广度优先搜索代码,如果是有向图需要稍微修改,否则产生死循环。 邻接矩阵表示的无向图的广度优先搜索: #include #include #include using nam...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:贪心法实现无向图的划分
举报原因:
原因补充:

(最多只允许输入30个字)