Hay un patrón de diseño que uso de vez en cuando, y no sé cómo se llama. Tal vez tiene un nombre y alguien aquí lo sabe?¿Hay un nombre para el patrón de diseño "cosas para manejar"?
Es algo que uso cuando quiero atravesar una estructura similar a un árbol y hacer alguna acción en todos sus nodos. Es algo como esto:
nodes_to_handle = [root_node]
while nodes_to_handle:
node = nodes_to_handle.pop()
# handle node
nodes_to_handle += node.get_neighbors()
Tenga en cuenta que la estructura no tiene que ser un árbol; por ejemplo, este patrón se puede usar para hacer un relleno de inundación en una matriz.
Entonces, ¿hay un nombre aceptado para este patrón de diseño?
búsqueda de primer plano –
¿Cómo es eso de "amplitud primero"? ¿Miraste el código? –
a la derecha, es 'nodes_to_handle.pop()' not 'nodes_to_handle.pop (0)', lo que significa 'nodes_to_handle' es una pila, no una cola, y por lo tanto su profundidad primero. –