| | |
| | | * |
| | | * */ |
| | | function greedyColorArray(g, vertexOrder) { |
| | | let color = new Map(); |
| | | let usedNeighbourColors = []; |
| | | const color = new Map(); |
| | | const usedNeighbourColors = []; |
| | | color.set(vertexOrder[0], 0); |
| | | for (let vertex of vertexOrder.slice(1)) { |
| | | for(let nbr of g.adjacentOf(vertex)) { |
| | | for (const vertex of vertexOrder.slice(1)) { |
| | | for(const nbr of g.adjacentOf(vertex)) { |
| | | const colorOfNbr = color.get(nbr); |
| | | if (colorOfNbr >= 0) { |
| | | usedNeighbourColors[colorOfNbr] = true; |
| | |
| | | count++; |
| | | } |
| | | color.set(vertex, count); |
| | | for(let nbr of g.adjacentOf(vertex)) { |
| | | for(const nbr of g.adjacentOf(vertex)) { |
| | | const colorOfNbr = color.get(nbr); |
| | | if(colorOfNbr >= 0) { |
| | | usedNeighbourColors[colorOfNbr] = false; |
| | |
| | | } |
| | | |
| | | test.skip("Color Graph Array: type 1", t => { |
| | | let lect = new Graph(); |
| | | const lect = new Graph(); |
| | | lect.addEdge(0, 1).addEdge(0, 2).addEdge(0, 3) |
| | | .addEdge(1, 2).addEdge(1, 4) |
| | | .addEdge(2, 5) |
| | | .addEdge(3, 4).addEdge(3, 5) |
| | | .addEdge(4, 5); |
| | | console.log(lect); |
| | | let vertices = [0, 1, 2, 3, 4, 5]; |
| | | let color = greedyColorArray(lect, vertices); |
| | | const vertices = [0, 1, 2, 3, 4, 5]; |
| | | const color = greedyColorArray(lect, vertices); |
| | | console.log(color); |
| | | vertices = [0, 3, 4, 1, 5, 2]; |
| | | color = greedyColorArray(lect, vertices); |