// Update node color and udpate colors info on adjacents func updateColorAndAdj(node *graph.Node, newColor graph.NodeColor, h *nh.Heap) bool { anyZeroed := false for _, adj := range node.Adj { adj.NeighborGotColor(newColor) anyZeroed = anyZeroed || adj.NumTaken == graph.NumColors-1 } if Heuristic.MRV { heap.Init(h) } node.Color = newColor return anyZeroed }
func resetColorAndAdj(node *graph.Node) { for _, adj := range node.Adj { adj.NeighborLostColor(node.Color) } node.Color = graph.Blank }