我有一組元素,彼此之間有各種依賴關係。這些依賴可能是嚴格的,例如。 a
取決於b
和c
;或者某些元素可能有其他選擇,例如。 s
取決於t
或u
。沒有循環依賴關係。什麼算法可以分析依賴關係?
我試圖做兩件事情與依賴信息:
- 確定一組給定的元素是否具有所有依賴性解決
- 列出所有可能的徹底解決一組元素
(其實2瑣碎給出1,因爲我可以生成所有排列,並檢查他們,在資源允許的。可能有更好的算法,雖然。)
有沒有這樣的算法適應具有替代依賴關係的元素?我發現很多隻能說明嚴格的依賴關係,但我不知道足夠的術語來縮小搜索範圍。
啊好,這就是我開始勾畫出。 Python的'any'和'all'函數也會簡化這一點。 – detly
好的,希望你看到我的編輯。我最初寫的是錯誤的。澄清一下,你是否認爲你的集合中有一個「根」,即是否有一個特定元素的依賴性必須解決? –
不,我可以驗證任何給定的元素集合,以確保沒有未解決的依賴關係的元素。 – detly