文章詳情頁
算法 - 用代碼獲取流程走向(Java)
瀏覽:130日期:2024-01-10 18:17:14
問題描述
需求是這樣的,有很多類似的流程如下:
有一個函數,我傳入一個開始節點Node,能夠獲取所有的流程走向,包裝List返回,比如上面這張圖就有兩種走向:通過和不通過。我開始用遞歸來做,類似這樣:
測試了幾個流程,確實能達到效果,但是一遇到復雜的流程(上百種走向)的時候,遞歸就會有性能問題(棧溢出等)請問各位大神,像這種情況除了遞歸還有什么解法嗎?如果沒有,這種遞歸有哪里可以優化的地方?小弟能力有限,想了幾天沒啥好辦法....
問題解答
回答1:問題是遞歸的,實現未必要用遞歸。可以把 '還未搜索的Node' 放到一個List中,每次找到的新Node放到List最后,下一輪搜索開始時從List最后取。
還應當使用動態規劃減少重復搜索。完全搜索時這個問題是NP的。
回答2:這個是工作流吧????
標簽:
java
相關文章:
1. mysql - 這條聯合sql語句哪里錯了2. mysql優化 - 關于mysql分區3. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應4. java - Atom中文問題5. java - MySQL中,使用聚合函數+for update會鎖表嗎?6. css3 - 這個形狀使用CSS怎么寫出來?7. javascript - 為什么這個點擊事件需要點擊兩次才有效果8. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?9. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出10. java - C語言算法題-韓信點兵 求解?
排行榜