From 3d55619bcb624c00a6131a6c7d6a13e894d338c4 Mon Sep 17 00:00:00 2001 From: Paul Nitzke <14367-paulenit@users.noreply.git.rwth-aachen.de> Date: Mon, 27 Jun 2022 12:45:04 +0200 Subject: [PATCH] Make adjacency node count attribute Same reason as for 5fd5ce0ac5fb3a8928af9ec6674d001811d17d6e --- .../DataStructures/AdjacencyGraphTests.cs | 8 ++++---- src/SparseTransform/Colorer.cs | 2 +- .../DataStructures/AdjacencyGraph.cs | 20 ++++++++++--------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs b/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs index 7d2c290..526257a 100644 --- a/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs +++ b/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs @@ -10,7 +10,7 @@ public class AdjacencyGraphTests public void AdjacencyGraphStartsEmpty() { AdjacencyGraph graph = new AdjacencyGraph(); - Assert.That(graph.GetNodeCount(), Is.EqualTo(0)); + Assert.That(graph.NodeCount, Is.EqualTo(0)); } [Test] @@ -18,7 +18,7 @@ public class AdjacencyGraphTests { AdjacencyGraph graph = new AdjacencyGraph(); graph.AddEdge(0, 1); - Assert.That(graph.GetNodeCount(), Is.EqualTo(2)); + Assert.That(graph.NodeCount, Is.EqualTo(2)); GraphNode[] nodes = Enumerable.ToArray(graph.GetNodes()); Assert.That(nodes[0], Is.Not.EqualTo(nodes[1])); } @@ -29,7 +29,7 @@ public class AdjacencyGraphTests AdjacencyGraph graph = new AdjacencyGraph(); graph.AddEdge(0, 1); graph.AddEdge(0, 2); - Assert.That(graph.GetNodeCount(), Is.EqualTo(3)); + Assert.That(graph.NodeCount, Is.EqualTo(3)); } [Test] @@ -39,7 +39,7 @@ public class AdjacencyGraphTests graph.AddEdge(0, 1); graph.AddEdge(0, 2); graph.AddEdge(1, 2); - Assert.That(graph.GetNodeCount(), Is.EqualTo(3)); + Assert.That(graph.NodeCount, Is.EqualTo(3)); } [Test] diff --git a/src/SparseTransform/Colorer.cs b/src/SparseTransform/Colorer.cs index 6307627..576efa3 100644 --- a/src/SparseTransform/Colorer.cs +++ b/src/SparseTransform/Colorer.cs @@ -58,7 +58,7 @@ namespace SparseTransform public bool StarColor1(AdjacencyGraph graph) { // Exact length defined in paper - int[] forbiddenColors = new int[Math.Min(graph.MaxDegree * graph.MaxDegree + 1, graph.GetNodeCount())]; + int[] forbiddenColors = new int[Math.Min(graph.MaxDegree * graph.MaxDegree + 1, graph.NodeCount)]; // Make sure the default values are neither (1) potential colors (2) the uncolored value (=0) Array.Fill(forbiddenColors, -1); foreach (GraphNode v_i in graph.GetNodes()) diff --git a/src/SparseTransform/DataStructures/AdjacencyGraph.cs b/src/SparseTransform/DataStructures/AdjacencyGraph.cs index bbf98db..f40403b 100644 --- a/src/SparseTransform/DataStructures/AdjacencyGraph.cs +++ b/src/SparseTransform/DataStructures/AdjacencyGraph.cs @@ -13,6 +13,17 @@ namespace SparseTransform.DataStructures /// </remarks> private List<GraphNode> _nodes; + /// <summary> + /// Number of nodes + /// </summary> + public int NodeCount + { + get + { + return _nodes.Count; + } + } + private int _maxDegree = 0; /// <summary> /// Get the degree of the node with most neighbors. @@ -117,15 +128,6 @@ namespace SparseTransform.DataStructures return nodes as IEnumerable<GraphNode>; } - /// <summary> - /// Get number of nodes - /// </summary> - /// <returns>number of nodes</returns> - public int GetNodeCount() - { - return _nodes.Count; - } - /// <summary> /// Finds a node by index. Returns null if not found. /// </summary> -- GitLab