贪心算法如下



我正在尝试使用贪婪算法解决以下问题,

我们有n朋友,我们想给他们每个人送一份礼物。但我们不想把同样的礼物送给两个彼此认识的人。(如果x知道y,那么y知道x).互不认识的人可以接受同样的礼物,没关系。我们想尽量减少不同礼物的数量。

这就是我的想法,我们试着把互不认识的人分成两组,给他们同样的礼物。但我不确定这是否是贪婪算法。此外,我们可能想要找到一个最大的群体,在这个群体中谁也不认识谁,所以我们可以给他们同样的礼物。但我们能做到吗?我们能找到最大数量的互不认识的人吗?

谁能提出一个贪心算法来解决这个问题?

您提到的问题是Graph Coloring问题的重述。你必须用颜色标记图形的顶点,这样共用同一条边的两个顶点就不会有相同的颜色。下面给出的链接是Greedy Coloring Algorithm

http://en.wikipedia.org/wiki/Greedy_coloring

这是图的着色问题,贪心算法很简单:

a greedy coloring is a coloring of the vertices of a graph formed by
a greedy algorithm that considers the vertices of the graph in sequence
and assigns each vertex its first available color

最新更新