示例#1
0
 def testGraphWithNoEdges(self):
     g = {0:[],
          1:[],
          2:[],
          3:[],
          4:[]}
     self.assertFalse(dfs.has_cycle(g))
示例#2
0
 def testDAG(self):
     g = {0:[1,2],
          1:[3,4],
          2:[3,4],
          3:[],
          4:[3]}
     self.assertFalse(dfs.has_cycle(g))
示例#3
0
 def testGeneralCase(self):
     g = {0:[1,2,4],
          1:[],
          2:[1,3],
          3:[0],
          4:[2,3]}
     self.assertTrue(dfs.has_cycle(g))
示例#4
0
 def testCycleGraph(self):
     g = {0:[1],
          1:[2],
          2:[3],
          3:[4],
          4:[0]}
     self.assertTrue(dfs.has_cycle(g))
示例#5
0
 def testTreeGraph(self):
     g = {0:[1,2],
          1:[3,4],
          2:[5],
          3:[],
          4:[],
          5:[]}
     self.assertFalse(dfs.has_cycle(g))
示例#6
0
 def testCycleGraph(self):
     g = {0: [1], 1: [2], 2: [3], 3: [4], 4: [0]}
     self.assertTrue(dfs.has_cycle(g))
示例#7
0
 def testGraphWithNoEdges(self):
     g = {0: [], 1: [], 2: [], 3: [], 4: []}
     self.assertFalse(dfs.has_cycle(g))
示例#8
0
 def testGeneralCase(self):
     g = {0: [1, 2, 4], 1: [], 2: [1, 3], 3: [0], 4: [2, 3]}
     self.assertTrue(dfs.has_cycle(g))
示例#9
0
 def testDAG(self):
     g = {0: [1, 2], 1: [3, 4], 2: [3, 4], 3: [], 4: [3]}
     self.assertFalse(dfs.has_cycle(g))
示例#10
0
 def testTreeGraph(self):
     g = {0: [1, 2], 1: [3, 4], 2: [5], 3: [], 4: [], 5: []}
     self.assertFalse(dfs.has_cycle(g))