我已經實作了一個函式,但它似乎不夠深入,因為它沒有回傳所有可能的選項。
這是我的功能和助手:
let closure n lst =
iterate ( (a, x) -> a into (closure_helper n x)) lst)
我得到 6. 我錯過了什么?
uj5u.com熱心網友回復:
這是您的代碼,它確定可以從 q 到達哪些狀態,給定一個轉換(a, b, c)和其他轉換串列t:
if a = q && b = None then
(c::(closure_helper delta c)) @ (closure_helper t q)
else
closure_helper t q
請注意,通常delta只表示尚未檢查的轉換closure_helper,而不是轉換的完整串列。因此,當您找到一個新的可達狀態時c,您只需通過查看轉換的子集來尋找進一步的狀態。
所以在我看來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/455703.html
