Beispiel #1
0
	def test_peek(self):
		my_queue.enqueue(3)
		my_queue.enqueue(5)

		self.assertEqual(3, my_queue.peek())
		self.assertEqual(5, my_queue.peek(1))
		self.assertEqual(3, my_queue.peek())
    def test_peek(self):
        my_queue.enqueue(3)
        my_queue.enqueue(5)

        self.assertEqual(my_queue.peek(), 3)
        self.assertEqual(my_queue.peek(1), 5)
        self.assertEqual(my_queue.peek(), 3)
Beispiel #3
0
    def test_peek(self):
        my_queue.enqueue(3)
        my_queue.enqueue(5)
        my_queue.enqueue(7)

        self.assertEqual(3, my_queue.peek())
        self.assertEqual(5, my_queue.peek(1))
        self.assertEqual(3, my_queue.peek())

        self.assertIsNone(my_queue.peek(100), msg="Should return None if no elements there.")
Beispiel #4
0
def bfs(g: nx.Graph, start_node: Hashable) -> List[Hashable]:
    """
    Do an breadth-first search and returns list of nodes in the visited order

    :param g: input graph
    :param start_node: starting node for search
    :return: list of nodes in the visited order
    """
    list_of_vizit = []
    enqueue(start_node)
    list_of_vizit.append(start_node)
    while peek(0) != None:
        node_now = dequeue()
        neighbor_list = list(g.neighbors(node_now))
        for i in neighbor_list:
            if i in list_of_vizit:
                pass
            else:
                enqueue(i)
                list_of_vizit.append(i)

    return list_of_vizit