Questa domanda è più facile da descrivere come una modifica di che la mia domanda .
Supponi che la domanda sia risolta come la seguente classe Python:
class Traversal(object):
# ...
def next(self): # next node of the graph
# ...
Ora voglio modificare l'algoritmo: A volte voglio attraversare il prossimo non -preferred node.
class Traversal(object):
# ...
def next(self): # next node of the graph
# ...
def next2(self): # next non-preferred node of the graph
# ...
Come modificare l'algoritmo per implementare next2()
?
Si noti che sia next()
che next2()
restituiscono un nodo grafico e questo nodo deve essere registrato per non essere nuovamente attraversato.
Spiacente, non posso descrivere il vero esempio in cui appare questo problema, sarebbe troppo prolisso. Puoi vedere il link per il grosso problema che sto risolvendo.