尤拉笑著對拉格朗日說:“你知道學習的本質是什麼嗎?”

拉格朗日不解尤拉的意思。

尤拉說:“就是遍歷。”

拉格朗日在想人的學習當然是按部就班來的,但尤拉的意思沒那麼簡單,也或許是更簡單到一般人不敢如此去想。

拉格朗日說:“就是看書需要一頁一頁來?”

尤拉對拉格朗日說:“你指的是人的看書學習,而我指的是本質。”

拉格朗日不解的說:“你說的意思也有動物?或者是嬰兒?還是機器人?”

尤拉說:“為了讓你理解這個意思,告訴你這時一種自動化演算法,你可以理解城機器人,當然人也好,動物也好,嬰兒也好,也是這個意思。”

拉格朗日明白了尤拉的意思,想了想,先是點點頭,然後再搖搖頭說:“我覺得,人的學習還不止於此,你說的遍歷,不就是面面都要俱到,而不加以選擇嗎?”

尤拉說:“對了,我想說的就是這個意思。”

拉格朗日說:“要是有這樣一種學習的運算程式,聽起來很笨拙。”

尤拉趕緊搖搖頭說:“不是的,就是要以這種看似本辦法的辦法來學習。當然了與人的區別是不要重複,機器可以準確記憶一個東西,而人腦不行,所以遍歷的時候不要走回頭路就行。”

拉格朗日說:“人的學習分對錯,有用和沒用,不能一概都去學習。”

尤拉說:“當然了,不管正確與否,起碼是要都看過一邊才行。”

拉格朗日說:“當然遍歷的排序也是一個問題,因為你提到不要走回頭路的問題了。”

尤拉說:“沒錯,我們進下來需要的,正是如何去遍歷的問題,不同的結構,遍歷的方式不同,我們知道遍歷是不可避免的,那就需要認真的研究什麼樣的情況下怎樣去遍歷,才是一個真正的問題了。”

尤拉發現,自己在解決很多實際問題的時候,都會需要遍歷的理論。

對尤拉來說,遍歷最麻煩的事情就是走回頭路。

很多問題的解決,只有在少走回頭路的時候才能順利解決。

解決七橋問題之後,尤拉開始研究把很多遍歷問題,轉化成圖論裡的最短遍歷路徑問題。

對尤拉來說,最簡單的路徑遍歷,就是二叉樹遍歷。

但不是所有圖都可以轉化成二叉樹遍歷問題,容易造成浪費。

求尤拉回路的思路:

迴圈的找到出發點。

從某個節點開始,然後查出一個從這個出發回到這個點的環路徑。

這種方法不保證每個邊都被遍歷。

如果有某個點的邊沒有被遍歷就讓這個點為起點,這條邊為起始邊,把它和當前的環銜接上。這樣直至所有的邊都被遍歷。

這樣,整個圖就被連線到一起了。

具體步驟:

1,如果此時與該點無相連的點,那麼就加入路徑中。

2,如果該點有相連的點,那麼就加入佇列之中,遍歷這些點,直到沒有相連的點。

3,處理當前的點,刪除走過的這條邊,並在其相鄰的點上進行同樣的操作,並把刪除的點加入到路徑中去。

4,這個其實是個遞迴過程。

這是最短的最合理的方式了。