歐拉發現,自己在解決很多實際問題的時候,都會需要遍歷的理論。
對歐拉來說,遍歷最麻煩的事情就是走回頭路。
很多問題的解決,只有在少走回頭路的時候才能順利解決。
解決七橋問題之後,歐拉開始研究把很多遍歷問題,轉化成圖論裡的最短遍歷路徑問題。
對歐拉來說,最簡單的路徑遍歷,就是二叉樹遍歷。
但不是所有圖都可以轉化成二叉樹遍歷問題,容易造成浪費。
求歐拉回路的思路:
循環的找到出發點。
從某個節點開始,然後查出一個從這個出發回到這個點的環路徑。
這種方法不保證每個邊都被遍歷。
如果有某個點的邊沒有被遍歷就讓這個點為起點,這條邊為起始邊,把它和當前的環銜接上。這樣直至所有的邊都被遍歷。
這樣,整個圖就被連接到一起了。
具體步驟:
1,如果此時與該點無相連的點,那麽就加入路徑中。
2,如果該點有相連的點,那麽就加入隊列之中,遍歷這些點,直到沒有相連的點。
3,處理當前的點,刪除走過的這條邊,並在其相鄰的點上進行同樣的操作,並把刪除的點加入到路徑中去。
4,這個其實是個遞歸過程。
這是最短的最合理的方式了。