需求是这样的,有很多类似的流程如下:
有一个函数,我传入一个开始节点Node,能够获取所有的流程走向,包装List返回,比如上面这张图就有两种走向:通过和不通过。我开始用递归来做,类似这样:
测试了几个流程,确实能达到效果,但是一遇到复杂的流程(上百种走向)的时候,
递归就会有性能问题(栈溢出等)
请问各位大神,像这种情况除了递归还有什么解法吗?如果没有,这种递归有哪里可以优化的地方?小弟能力有限,想了几天没啥好办法....
阿神2017-04-18 10:54:54
문제가 재귀적이므로 구현에 재귀가 필요하지 않습니다. "아직 검색되지 않은 노드"를 List에 넣을 수 있습니다. 새로운 Node가 발견될 때마다 List의 마지막에 배치됩니다. 목록.
중복 검색을 줄이려면 동적 프로그래밍을 사용해야 합니다. 이 문제는 완전탐색의 NP입니다.