Mathematica實戰范例:動態演繹歐拉回路
生成圖形 歐拉回路就是說圖中存在一條回路,該回路恰巧通過每條邊一次。在這個小范例中,讓我們看看如何動態演繹歐拉回路。 首先我們來生成一個Graph來展示,為了給每個頂點顯示標簽,我們還指定了Ima
生成圖形
歐拉回路就是說圖中存在一條回路,該回路恰巧通過每條邊一次。在這個小范例中,讓我們看看如何動態演繹歐拉回路。
首先我們來生成一個Graph來展示,為了給每個頂點顯示標簽,我們還指定了ImagePadding選項。
檢查圖形問題
在我們繼續求解之前,先看一看上面的圖形是否存在什么問題。如果你仔細觀察的話,會發現部分的標簽并未顯示完整。這里需要補充一個選項ImagePadding,如果我們設置一個較大的值便可以解決此類問題。
使用FindEulerianCycle命令求解
在Mathematica下想要求解歐拉回路非常容易,因為直接由一個命令可以幫助我們求出答案來,就是FindEulerianCycle命令。下面我們用這個命令看看能否得出上面圖的歐拉回路。
答案如此輕松地求解出來了,您可以按照輸出的結果按圖索驥地走一遍。但是請別忘記,我們是在用Mathematica下,在前進一點,把我們的結果動態地顯示出來。為此,我們還要做一點準備工作,將結果賦值給變量,并且求出初始的點來,還有總共有多少條邊。
高亮顯示中間步驟
現在我們想把中間的步驟在圖中高亮顯示。HighlightGraph是專門用來高亮顯示的命令,其實這個命令非常簡單,如下圖所示,假設想要高亮顯示點1、點2以及點1到點2的邊,只需將這些要高亮顯示的內容用列表組織起來就好了。
動態演繹歐拉回路
好,回到我們的問題之中。每次取出前n條邊,這樣就可以實現動態演繹歐拉回路。