Example #1
0
 def test_bfs(self):
     self.graph = {
         'A': {'B', 'C'},
         'B': {'A', 'D', 'E'},
         'C': {'A', 'F'},
         'D': {'B'},
         'E': {'B', 'F'},
         'F': {'C', 'E'}
     }
     rv1 = breadth_first_search.bfs(self.graph, 'A')
     self.assertEqual(rv1, {'C', 'A', 'B', 'D', 'F', 'E'})
     self.graph = {
         'A': {'B', 'C', 'E'},
         'B': {'A', 'D', 'F'},
         'C': {'A', 'G'},
         'D': {'B'},
         'F': {'B'},
         'E': {'A'},
         'G': {'C'}
     }
     rv1 = breadth_first_search.bfs(self.graph, "A")
     rv2 = breadth_first_search.bfs(self.graph, "G")
     rv1e = breadth_first_search.bfs(self.graph, "Z")
     self.assertEqual(rv1, {'A', 'B', 'D', 'F', 'C', 'G', 'E'})
     self.assertEqual(rv2, {'G', 'C', 'A', 'B', 'D', 'F', 'E'})
     self.assertEqual(rv1e, None)
Example #2
0
 def test_bfs(self):
     self.graph = {
         'A': set(['B', 'C']),
         'B': set(['A', 'D', 'E']),
         'C': set(['A', 'F']),
         'D': set(['B']),
         'E': set(['B', 'F']),
         'F': set(['C', 'E'])
     }
     rv1 = breadth_first_search.bfs(self.graph, 'A')
     self.assertEqual(rv1, {'C', 'A', 'B', 'D', 'F', 'E'})
     self.graph = {
         'A': set(['B', 'C', 'E']),
         'B': set(['A', 'D', 'F']),
         'C': set(['A', 'G']),
         'D': set(['B']),
         'F': set(['B']),
         'E': set(['A']),
         'G': set(['C'])
     }
     rv1 = breadth_first_search.bfs(self.graph, "A")
     rv2 = breadth_first_search.bfs(self.graph, "G")
     rv1e = breadth_first_search.bfs(self.graph, "Z")
     self.assertEqual(rv1, set(['A', 'B', 'D', 'F', 'C', 'G', 'E']))
     self.assertEqual(rv2, set(['G', 'C', 'A', 'B', 'D', 'F', 'E']))
     self.assertEqual(rv1e, None)
Example #3
0
def src_operations(f_code, v1, v2):
    if f_code == 1:
        res = binary_search.search(v1, v2)
        return res
    elif f_code == 2:
        try:
            res = bmh_search.search(v1, v2)
            return res
        except IndexError:
            res = "Your key either occurs throughout the string, or more than 1 time."
            return res
    elif f_code == 3:
        try:
            res = depth_first_search.dfs(v1, v2)
            return res
        except TypeError:
            res = "Enter all edges for all nodes for the DFS algorithm to work correctly."
            return res
    elif f_code == 4:
        res = kmp_search.search(v1, v2)
        return res
    elif f_code == 5:
        res = rabinkarp_search.search(v1, v2)
        return res
    elif f_code == 6:
        try:
            res = breadth_first_search.bfs(v1, v2)
            return res
        except TypeError:
            res = "Enter all edges for all nodes for the BFS algorithm to work correctly."
            return res