DSATUR图着色算法输入(Matlab代码)

时间:2013-12-28 11:40:13

标签: algorithm matlab

我正在尝试运行我在以下位置找到的DSATUR图着色算法的Matlab代码:http://armanboyaci.com/?p=487其输入为:V(顶点)和E(边缘),但是当我尝试使用输入时如:E =                                  [1 2]                                  [2 3]                                  [3 4]                                  [1 4];和V = [4,2,3,1];我总是有错误,我的问题是:我输入错了吗?如果是的话,正确的输入应该如何?

提前致谢

2 个答案:

答案 0 :(得分:0)

在Matlab中,多维数组是defined,带有单个方括号和分号,用于分隔行。

因为我没有使用Matlab,所以使用GNU Octave

octave:1> E= [1 2; 2 3; 3 4; 1 4];
octave:2> V=[4,2,3,1];
octave:3> dsatur(E,V)
ans =

   1
   1
   1
   2

答案 1 :(得分:0)

您链接的MATLAB代码可以按如下方式使用

E=[1 2; 2 3; 3 4; 1 4];
V=[4; 2; 3; 1];
>> dsatur(V,E)
ans =
     1
     2
     1
     2

即,节点4和3是颜色1,节点2和1是颜色2.注意:顶点列表必须是列向量,函数参数在E之前需要V。