成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

算法 - 用代碼獲取流程走向(Java)

瀏覽:117日期:2024-01-10 18:17:14

問題描述

需求是這樣的,有很多類似的流程如下:算法 - 用代碼獲取流程走向(Java)

有一個(gè)函數(shù),我傳入一個(gè)開始節(jié)點(diǎn)Node,能夠獲取所有的流程走向,包裝List返回,比如上面這張圖就有兩種走向:通過和不通過。我開始用遞歸來做,類似這樣:

算法 - 用代碼獲取流程走向(Java)

測(cè)試了幾個(gè)流程,確實(shí)能達(dá)到效果,但是一遇到復(fù)雜的流程(上百種走向)的時(shí)候,算法 - 用代碼獲取流程走向(Java)遞歸就會(huì)有性能問題(棧溢出等)請(qǐng)問各位大神,像這種情況除了遞歸還有什么解法嗎?如果沒有,這種遞歸有哪里可以優(yōu)化的地方?小弟能力有限,想了幾天沒啥好辦法....

問題解答

回答1:

問題是遞歸的,實(shí)現(xiàn)未必要用遞歸。可以把 '還未搜索的Node' 放到一個(gè)List中,每次找到的新Node放到List最后,下一輪搜索開始時(shí)從List最后取。

還應(yīng)當(dāng)使用動(dòng)態(tài)規(guī)劃減少重復(fù)搜索。完全搜索時(shí)這個(gè)問題是NP的。

回答2:

這個(gè)是工作流吧????

標(biāo)簽: java
相關(guān)文章: