文章詳情頁
算法 - 用代碼獲取流程走向(Java)
瀏覽:117日期:2024-01-10 18:17:14
問題描述
需求是這樣的,有很多類似的流程如下:
有一個(gè)函數(shù),我傳入一個(gè)開始節(jié)點(diǎn)Node,能夠獲取所有的流程走向,包裝List返回,比如上面這張圖就有兩種走向:通過和不通過。我開始用遞歸來做,類似這樣:
測(cè)試了幾個(gè)流程,確實(shí)能達(dá)到效果,但是一遇到復(fù)雜的流程(上百種走向)的時(shí)候,遞歸就會(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)文章:
1. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?2. css - chrome下a標(biāo)簽嵌套img 顯示會(huì)多個(gè)小箭頭?3. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效4. vim - docker中新的ubuntu12.04鏡像,運(yùn)行vi提示,找不到命名.5. javascript - Img.complete和img.onload判斷圖片加載完成有什么區(qū)別?6. java中返回一個(gè)對(duì)象,和輸出對(duì)像的值,意義在哪兒7. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?8. mysql - 在不允許改動(dòng)數(shù)據(jù)表的情況下,如何優(yōu)化以varchar格式存儲(chǔ)的時(shí)間的比較?9. apache - 目錄瀏覽權(quán)限關(guān)閉后還有必要掛空白 index.html 嗎?10. css - 網(wǎng)頁div區(qū)塊 像蘋果一樣可左右滑動(dòng) 手機(jī)與電腦
排行榜

熱門標(biāo)簽