Maison  >  Questions et réponses  >  le corps du texte

算法 - 用代码获取流程走向(Java)

需求是这样的,有很多类似的流程如下:

有一个函数,我传入一个开始节点Node,能够获取所有的流程走向,包装List返回,比如上面这张图就有两种走向:通过和不通过。我开始用递归来做,类似这样:

测试了几个流程,确实能达到效果,但是一遇到复杂的流程(上百种走向)的时候,

递归就会有性能问题(栈溢出等)
请问各位大神,像这种情况除了递归还有什么解法吗?如果没有,这种递归有哪里可以优化的地方?小弟能力有限,想了几天没啥好办法....

天蓬老师天蓬老师2743 Il y a quelques jours527

répondre à tous(2)je répondrai

  • 阿神

    阿神2017-04-18 10:54:54

    1. Le problème est récursif et la récursivité n'est pas nécessaire pour la mise en œuvre. Vous pouvez mettre le « Nœud qui n'a pas encore été recherché » dans une liste. Chaque fois qu'un nouveau nœud est trouvé, il est placé à la fin de la liste. Lorsque le prochain cycle de recherche démarre, il est pris à la fin de la liste. Liste.

    2. La programmation dynamique doit également être utilisée pour réduire les recherches en double. Ce problème est NP en recherche complète.

    répondre
    0
  • 迷茫

    迷茫2017-04-18 10:54:54

    Est-ce un flux de travail ? ? ? ?

    répondre
    0
  • Annulerrépondre