Ejemplo n.º 1
0
    def test_is_path_none(self):
        from Question3 import addnode, ispath

        g = {}

        g = addnode(g, 0, [])
        g = addnode(g, 1, [2, 6])
        g = addnode(g, 2, [1, 3, 4, 9])
        g = addnode(g, 3, [2])
        g = addnode(g, 4, [2, 5])
        g = addnode(g, 5, [4])
        g = addnode(g, 6, [1, 8])
        g = addnode(g, 7, [6])
        g = addnode(g, 8, [6])
        g = addnode(g, 9, [2])

        self.assertEqual(None, ispath(g, 4, 0))
Ejemplo n.º 2
0
    def test_dfs(self):
        from Question3 import addnode
        from Question5 import dfstofile

        g = {}

        g = addnode(g, 0, [0, 1, 7])
        g = addnode(g, 1, [0, 2, 6])
        g = addnode(g, 2, [1, 3, 4, 9])
        g = addnode(g, 3, [2])
        g = addnode(g, 4, [2, 5])
        g = addnode(g, 5, [4])
        g = addnode(g, 6, [1, 7, 8])
        g = addnode(g, 7, [0, 6])
        g = addnode(g, 8, [6])
        g = addnode(g, 9, [2])

        self.assertEqual(dfstofile(g, 0), [0, 1, 2, 3, 4, 5, 9, 6, 7, 8])
        self.assertEqual(dfstofile(g, 4), [4, 2, 1, 0, 7, 6, 8, 3, 9, 5])
Ejemplo n.º 3
0
    def test_bfs(self):
        from Question3 import addnode
        from Question5 import bfs

        g = {}

        g = addnode(g, 0, [0, 1, 7])
        g = addnode(g, 1, [0, 2, 6])
        g = addnode(g, 2, [1, 3, 4, 9])
        g = addnode(g, 3, [2])
        g = addnode(g, 4, [2, 5])
        g = addnode(g, 5, [4])
        g = addnode(g, 6, [1, 7, 8])
        g = addnode(g, 7, [0, 6])
        g = addnode(g, 8, [6])
        g = addnode(g, 9, [2])

        self.assertEqual(bfs(g, 0), [8, 6, 1, 7, 0, 2, 3, 4, 9, 5])
        self.assertEqual(bfs(g, 5), [5, 4, 2, 1, 3, 9, 0, 6, 7, 8])
Ejemplo n.º 4
0
    def test_add_node(self):
        from Question3 import addnode
        g = {}

        addnode(g, 2)
        self.assertEqual(g, {2: []})

        addnode(g, 3, [2])
        self.assertEqual(g, {2: [], 3: [2]})

        addnode(g, 1, [2, 3])
        self.assertEqual(g, {2: [], 3: [2], 1: [2, 3]})
Ejemplo n.º 5
0
                visited.append(connection)

                depth[connection] = depth[node] + 1

    print(depth)

    with open("bfs.txt", "a") as f:
        f.write(str(list(depth.keys())) + " BFS starting at " + str(v1) + "\n")

    return list(depth.keys())


if __name__ == "__main__":
    g = {}

    g = addnode(g, 0, [0, 1, 7])
    g = addnode(g, 1, [0, 2, 6])
    g = addnode(g, 2, [1, 3, 4, 9])
    g = addnode(g, 3, [2])
    g = addnode(g, 4, [2, 5])
    g = addnode(g, 5, [4])
    g = addnode(g, 6, [1, 7, 8])
    g = addnode(g, 7, [0, 6])
    g = addnode(g, 8, [6])
    g = addnode(g, 9, [2])

    print("DFS")
    print(dfstofile(g, 9))

    print("\nBFS")
    print(bfs(g, 5))