2012-06-25 64 views
7

讓我們假裝我有以下網格。我必須連接字母對。不僅必須連接相同的字母,還必須確保連接路徑不會相互交叉。有什麼算法可以告訴我,如果可以連接所有的線對而不穿越路徑和最短路徑?如何連接兩點而不穿越另一條路徑?

我意識到這是一個圖形問題,可以使用BFS解決最短路徑部分。我不確定的是交叉路口。

+---+---+---+---+---+---+---+---+ 
    | A | | | B | | | | | 
    +-------------------------------+ 
    | | | | | | | | | 
    +-------------------------------+ 
    | | | B | | | | D | | 
    +-------------------------------+ 
    | | | | | | | | | 
    +-------------------------------+ 
    | | C | | | C | | | | 
    +-------------------------------+ 
    | | | | A | | | | | 
    +-------------------------------+ 
    | | | | | | | D | | 
    +-------------------------------+ 
    | | | | | | | | | 
    +---+---+---+---+---+---+---+---+ 
+0

A *搜索算法應該可行,但會有點慢 – Nicolas

回答