文章詳情頁(yè)
算法 - 用代碼獲取流程走向(Java)
瀏覽:124日期:2024-01-10 18:17:14
問(wèn)題描述
需求是這樣的,有很多類似的流程如下:
有一個(gè)函數(shù),我傳入一個(gè)開始節(jié)點(diǎn)Node,能夠獲取所有的流程走向,包裝List返回,比如上面這張圖就有兩種走向:通過(guò)和不通過(guò)。我開始用遞歸來(lái)做,類似這樣:
測(cè)試了幾個(gè)流程,確實(shí)能達(dá)到效果,但是一遇到復(fù)雜的流程(上百種走向)的時(shí)候,遞歸就會(huì)有性能問(wèn)題(棧溢出等)請(qǐng)問(wèn)各位大神,像這種情況除了遞歸還有什么解法嗎?如果沒(méi)有,這種遞歸有哪里可以優(yōu)化的地方?小弟能力有限,想了幾天沒(méi)啥好辦法....
問(wèn)題解答
回答1:問(wèn)題是遞歸的,實(shí)現(xiàn)未必要用遞歸。可以把 '還未搜索的Node' 放到一個(gè)List中,每次找到的新Node放到List最后,下一輪搜索開始時(shí)從List最后取。
還應(yīng)當(dāng)使用動(dòng)態(tài)規(guī)劃減少重復(fù)搜索。完全搜索時(shí)這個(gè)問(wèn)題是NP的。
回答2:這個(gè)是工作流吧????
標(biāo)簽:
java
相關(guān)文章:
1. macos - mac 重啟后 XAMPP下的apache無(wú)法啟動(dòng)2. css3 - 這個(gè)右下角折角用css怎么畫出來(lái)?3. mysql - eclispe無(wú)法打開數(shù)據(jù)庫(kù)連接4. windows2003下的apache響應(yīng)時(shí)間特別長(zhǎng)?5. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。6. 關(guān)于Java引用傳遞的一個(gè)困惑?7. java - 根據(jù)月份查詢多個(gè)表里的內(nèi)容怎么實(shí)現(xiàn)好?8. javascript - 一個(gè)關(guān)于客戶端和前端通信的疑惑?9. php - 一個(gè)操作請(qǐng)求多個(gè)服務(wù)如何保證數(shù)據(jù)的安全?10. javascript - webpack熱加載配置不生效
排行榜

熱門標(biāo)簽