当前位置: 首页>>代码示例>>Java>>正文


Java LinkedUndirectedGraph.create方法代码示例

本文整理汇总了Java中com.google.javascript.jscomp.graph.LinkedUndirectedGraph.create方法的典型用法代码示例。如果您正苦于以下问题:Java LinkedUndirectedGraph.create方法的具体用法?Java LinkedUndirectedGraph.create怎么用?Java LinkedUndirectedGraph.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.javascript.jscomp.graph.LinkedUndirectedGraph的用法示例。


在下文中一共展示了LinkedUndirectedGraph.create方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testGreedy

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testGreedy() {
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  graph.createNode("A");
  graph.createNode("B");
  graph.createNode("C");
  graph.createNode("D");
  graph.connect("A", "--", "C");
  graph.connect("B", "--", "C");
  graph.connect("B", "--", "D");
  GraphColoring<String, String> coloring =
      new GreedyGraphColoring<String, String>(graph);
  assertEquals(2, coloring.color());
  validateColoring(graph);
  assertEquals("A", coloring.getPartitionSuperNode("A"));
  assertEquals("A", coloring.getPartitionSuperNode("B"));
  assertEquals("C", coloring.getPartitionSuperNode("C"));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:18,代码来源:GraphColoringTest.java

示例2: testFullyConnected

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testFullyConnected() {
  final int count = 100;
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  for (int i = 0; i < count; i++) {
    graph.createNode("Node " + i);
    for (int j = 0; j < count; j++) {
      graph.createNode("Node " + j);
      if (i != j) {
        graph.connect("Node " + i, null, "Node " + j);
      }
    }
  }
  GraphColoring<String, String> coloring =
      new GreedyGraphColoring<String, String>(graph);
  assertEquals(count, coloring.color());
  validateColoring(graph);
  for (int i = 0; i < count; i++) {
    assertEquals("Node " + i, coloring.getPartitionSuperNode("Node " + i));
  }
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:21,代码来源:GraphColoringTest.java

示例3: testAllConnectedToOneNode

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testAllConnectedToOneNode() {
  final int count = 10;
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  graph.createNode("Center");
  for (int i = 0; i < count; i++) {
    graph.createNode("Node " + i);
    graph.connect("Center", null, "Node " + i);
  }
  GraphColoring<String, String> coloring =
      new GreedyGraphColoring<String, String>(graph);
  assertEquals(2, coloring.color());
  validateColoring(graph);
  assertEquals("Center", coloring.getPartitionSuperNode("Center"));
  for (int i = 0; i < count; i++) {
    assertEquals("Node 0", coloring.getPartitionSuperNode("Node " + i));
  }
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:18,代码来源:GraphColoringTest.java

示例4: testUndirectedSimple

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testUndirectedSimple() {
  UndiGraph<String, String> graph =
      LinkedUndirectedGraph.create();
  graph.createNode("a");
  graph.createNode("b");
  graph.createNode("c");
  graph.connect("a", "--", "b");
  assertTrue(graph.hasNode("a"));
  assertTrue(graph.hasNode("b"));
  assertTrue(graph.hasNode("c"));
  assertFalse(graph.hasNode("d"));
  assertTrue(graph.isConnected("a", "b"));
  assertTrue(graph.isConnected("b", "a"));
  assertFalse(graph.isConnected("a", "c"));
  assertFalse(graph.isConnected("b", "c"));
  assertFalse(graph.isConnected("c", "a"));
  assertFalse(graph.isConnected("c", "b"));
  assertFalse(graph.isConnected("a", "a"));
  assertFalse(graph.isConnected("b", "b"));
  assertFalse(graph.isConnected("b", "c"));

  // Removal.
  graph.disconnect("a", "b");
  assertFalse(graph.isConnected("a", "b"));
  assertFalse(graph.isConnected("b", "a"));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:27,代码来源:GraphTest.java

示例5: testUndirectedNeighbors

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testUndirectedNeighbors() {
  UndiGraph<String, String> graph =
      LinkedUndirectedGraph.create();
  graph.createNode("a");
  graph.createNode("b");
  graph.createNode("c");
  graph.createNode("d");
  graph.connect("a", "-", "b");
  graph.connect("a", "--", "b");
  graph.connect("a", "---", "b");
  graph.connect("a", "-", "c");
  graph.connect("c", "-", "d");
  assertSetEquals(graph.getNeighborNodes("a"), "b", "c");
  assertSetEquals(graph.getNeighborNodes("b"), "a");
  assertSetEquals(graph.getNeighborNodes("c"), "a", "d");
  assertListCount(graph.getNeighborNodes("a"), "b", 3);

  // Removal.
  graph.disconnect("a", "b");
  assertFalse(graph.isConnected("a", "b"));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:22,代码来源:GraphTest.java

示例6: testSimpleSubGraph

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testSimpleSubGraph() {
  UndiGraph<String, String> graph =
      LinkedUndirectedGraph.create();
  graph.createNode("a");
  graph.createNode("b");
  graph.createNode("c");
  graph.connect("a", "--", "b");

  SubGraph<String, String> subGraph = graph.newSubGraph();
  subGraph.addNode("a");
  subGraph.addNode("b");

  try {
    subGraph.addNode("d");
    fail("SubGraph should not allow add for node that is not in graph.");
  } catch (IllegalArgumentException e) {
    // exception expected
  }

  assertFalse(subGraph.isIndependentOf("a"));
  assertFalse(subGraph.isIndependentOf("b"));
  assertTrue(subGraph.isIndependentOf("c"));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:24,代码来源:GraphTest.java

示例7: testNoEdge

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testNoEdge() {
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  for (int i = 0; i < 5; i++) {
    graph.createNode("Node " + i);
    // All node with same color.
    GraphColoring<String, String> coloring =
        new GreedyGraphColoring<String, String>(graph);
    assertEquals(1, coloring.color());
    validateColoring(graph);
    for (int j = 0; j < i; j++) {
      assertEquals("Node 0", coloring.getPartitionSuperNode("Node 0"));
    }
  }
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:15,代码来源:GraphColoringTest.java

示例8: testTwoNodesConnected

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testTwoNodesConnected() {
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  graph.createNode("A");
  graph.createNode("B");
  graph.connect("A", "--", "B");
  GraphColoring<String, String> coloring =
      new GreedyGraphColoring<String, String>(graph);
  assertEquals(2, coloring.color());
  validateColoring(graph);
  assertEquals("A", coloring.getPartitionSuperNode("A"));
  assertEquals("B", coloring.getPartitionSuperNode("B"));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:13,代码来源:GraphColoringTest.java

示例9: testTwoFullyConnected

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testTwoFullyConnected() {
  final int count = 100;
  // A graph with two disconnected disjunct cliques.
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  for (int i = 0; i < count; i++) {
    graph.createNode("Node Left " + i);
    graph.createNode("Node Right " + i);
    for (int j = 0; j < count; j++) {
      graph.createNode("Node Left " + j);
      graph.createNode("Node Right " + j);
      if (i != j) {
        graph.connect("Node Left " + i, null, "Node Left " + j);
        graph.connect("Node Right " + i, null, "Node Right " + j);
      }
    }
  }
  assertEquals(count, new GreedyGraphColoring<String, String>(graph).color());
  validateColoring(graph);

  // Connect the two cliques.
  for (int i = 0; i < count; i++) {
    graph.connect("Node Left " + i, null, "Node Right " + i);
  }
  // Think of two exactly same graph with the same coloring side by side.
  // If we circularly shift the colors of one of the graph by 1, we can
  // connect the isomorphic nodes and still have a valid coloring in the
  // resulting graph.
  assertEquals(count, new GreedyGraphColoring<String, String>(graph).color());
  validateColoring(graph);
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:31,代码来源:GraphColoringTest.java

示例10: testUndirectedSelfLoop

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testUndirectedSelfLoop() {
  UndiGraph<String, String> graph =
      LinkedUndirectedGraph.create();
  graph.createNode("a");
  graph.createNode("b");
  graph.connect("a", "--", "a");
  assertTrue(graph.isConnected("a", "a"));
  assertFalse(graph.isConnected("a", "b"));
  assertFalse(graph.isConnected("b", "a"));

  // Removal.
  graph.disconnect("a", "a");
  assertFalse(graph.isConnected("a", "a"));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:15,代码来源:GraphTest.java

示例11: testUndirectedGetFirstEdge

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testUndirectedGetFirstEdge() {
  UndiGraph<String, String> graph =
    LinkedUndirectedGraph.create();
  graph.createNode("a");
  graph.createNode("b");
  graph.createNode("c");
  graph.connect("a", "-", "b");
  assertEquals(graph.getFirstEdge("a", "b").getValue(), "-");
  assertEquals(graph.getFirstEdge("b", "a").getValue(), "-");
  assertNull(graph.getFirstEdge("a", "c"));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:12,代码来源:GraphTest.java

示例12: testEdgeAnnotations

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testEdgeAnnotations() {
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  graph.createNode("1");
  graph.createNode("2");
  graph.createNode("3");
  graph.connect("1", "a", "2");
  graph.connect("2", "b", "3");
  GraphEdge<String, String> a = graph.getEdges("1", "2").get(0);
  GraphEdge<String, String> b = graph.getEdges("2", "3").get(0);
  checkAnnotations(graph, a, b);
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:12,代码来源:GraphTest.java

示例13: testNodeAnnotations

import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入方法依赖的package包/类
public void testNodeAnnotations() {
  Graph<String, String> graph = LinkedUndirectedGraph.create();
  GraphNode<String, String> a = graph.createNode("a");
  GraphNode<String, String> b = graph.createNode("b");
  checkAnnotations(graph, a, b);
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:7,代码来源:GraphTest.java


注:本文中的com.google.javascript.jscomp.graph.LinkedUndirectedGraph.create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。