def breadth_first(self, starting_vertex): """ Method to do breadth-first traversal on a graph. Input: starting vertex Output: list of vertices in the breadth-first order """ vertices = [] breadth = Queue() if starting_vertex not in self._adjacency_list: raise ValueError breadth.enqueue(starting_vertex) while not breadth.is_empty(): front = breadth.dequeue() vertices.append(front) for neighbor in self.get_neighbors(front): if not neighbor[0].visited: neighbor[0].visited = True breadth.enqueue(neighbor[0]) for node in self._adjacency_list: node.visited = False return vertices
def breadth_add(self, value): """Method that takes in a value, and creates nodes with given value in level order""" node = Node(value) if not self.root: self.root = node return q = Queue() q.enqueue(self.root) while not q.is_empty(): current = q.dequeue() if current.left: q.enqueue(current.left) else: current.left = node break if current.right: q.enqueue(current.right) else: current.right = node break
def test_exhausted(): q = Queue() q.enqueue("apple") q.enqueue("banana") q.enqueue("cucumber") q.dequeue() q.dequeue() q.dequeue() actual = q.is_empty() expected = True assert actual == expected
def breadth_first(self, node): nodes = [] breadth = Queue() breadth.enqueue(node) visited = {node: True} while not breadth.is_empty(): front = breadth.dequeue() nodes.append(front.value) for el in self.adjacency_list[front]: print(el.node.value) if el.node not in visited: visited[el.node] = True breadth.enqueue(el.node) return nodes
def test_is_empty(): q = Queue() assert q.is_empty() == True
def test_is_empty(): q = Queue() actual = q.is_empty() expected = True assert actual == expected
def test_queue_is_empty(): testing_queue = Queue() expected = True actual = testing_queue.is_empty() assert actual == expected
def test_is_empty_dequeue_none(): new_queue = Queue() new_queue.dequeue() assert new_queue.is_empty() == True
def test_if_queue_is_empty_boolean(queue): empty_queue = Queue() queue.enqueue('bag') actual = [empty_queue.is_empty(), queue.is_empty()] expected = [True, False] assert actual == expected