簡體   English   中英

在有向圖中只訪問一次所有節點

[英]Visit all nodes exactly once in a directed graph

我有一個有向圖,我想找到一條恰好一次訪問每個節點的路徑。 我想做到這一點很復雜。 這可能嗎? 如果是的話,怎么辦?

您正在搜索Hamiltonian路徑 ,這是一個簡單的開放路徑,其中每個節點僅包含一次。

在給定圖中找到哈密頓路徑是NP-complete的 實際上,確定一個給定的(有向的或無向的)圖是否包含哈密頓路徑已經是NP完全的(通過從例如頂點覆蓋問題中的減少來證明)。

如果您仍然想對其進行編碼,則可以在github上實現 如果您想要一個快速的解決方案,也許啟發法就足夠了(例如, 受DNA分子啟發 ,或者在子圖上快速運行的解決方案。例如,如果您擁有DAG,則可以進行拓撲排序,然后檢查如果連接了連續的頂點,則拓撲排序將給出哈密頓路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM