使用邻接矩阵在python中进行图形着色

时间:2011-10-13 18:44:09

标签: python graph-algorithm

如何使用邻接矩阵在python中实现图着色?可能吗?我用list实现了它。但它有一些问题。我想用矩阵来实现它。有人可以给我答案或建议吗?

2 个答案:

答案 0 :(得分:2)

有可能吗?当然是。但是你制作Graphs或编码处理它们的算法有问题吗?

将算法与数据类型分开可能会使您更容易。以下是一些建议:

  • 创建(或使用)抽象数据类型Graph
  • 根据Graph接口编码着色算法
  • 然后,改变列表和矩阵形式之间的图形实现

如果你只是想使用图表,而不需要自己实现它们,那么快速谷歌搜索会打开这个python graph库。

答案 1 :(得分:0)

使用邻接实现比使用列表更容易,因为列表需要更长的时间和空间。 igraph有一个快速的方法邻居可以使用。然而,仅使用邻接矩阵,我们可以提出我们自己的图形着色版本,这可能不会导致使用最小色数。快速策略可能如下: 初始化:为每行上的节点放置一种不同的颜色(出现1的节点) 开始:以最高度节点(HDN)行作为参考,将每行(意味着每个节点)与HDN进行比较,并通过检测1来查看它是否也是其邻居。如果是,则更改节点颜色。继续这样微调。 O(N ^ 2)方法!希望这可以帮助。