ホームページ  >  に質問  >  本文

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

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

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

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

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

天蓬老师天蓬老师2743日前536

全員に返信(2)返信します

  • 阿神

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

    1. 問題は再帰的であり、実装には再帰は必要ありません。 「まだ検索されていないノード」をリストに入れることができます。新しいノードが見つかるたびに、そのノードはリストの最後に配置され、次のラウンドの検索が開始されると、そのノードがリストの最後から取得されます。リスト。

    2. 検索の繰り返しを減らすために動的プログラミングも使用する必要があります。この問題は全探索でNPです。

    返事
    0
  • 迷茫

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

    これはワークフローですか? ? ? ?

    返事
    0
  • キャンセル返事