1. 程式人生 > >圖論:(半)尤拉圖與(半)哈密頓圖

圖論:(半)尤拉圖與(半)哈密頓圖

圖論:尤拉圖與哈密頓圖

圖論最基本的要素就是點和邊,尤拉圖和哈密頓圖是分別關於點和邊的兩種特殊圖的形式。

尤拉圖側重於經過所有的哈密頓圖側重於經過所有的

尤拉圖

尤拉路徑:一條路徑在圖G中恰好經過每條邊一次。尤拉通路:通過圖中所有邊的簡單路(其實就是每條邊經過一次)。歐拉回路:閉合的尤拉路。尤拉圖:包含歐拉回路的圖。半尤拉圖:包含尤拉通路但是不含歐拉回路的圖。

接著理解(半)尤拉圖成立的充要條件:尤拉圖: 無向圖G是一個尤拉圖當且僅當G連通且所有頂點的度數為偶。 有向圖G是一個尤拉圖當且僅當G連通且所有頂點的出度等於入度半尤拉圖: 無向圖G是一個半尤拉圖當且僅當G連通,僅有兩個點度數為奇,其餘所有頂點的度數為偶

。(可以這樣理解:在一個無向的尤拉圖G’上加一條無向邊成為半尤拉圖G) 有向圖G是一個半尤拉圖當且僅當G連通,存在點u出度比入度大1,點v出度比入度小1,其餘所有頂點的出度等於入度。(可以這樣理解:在一個有向的尤拉圖G’上加一條有向邊成為半尤拉圖G)

理解:理解無向圖就可以對比有向圖,G是尤拉圖與G是若干邊不交的圈的並,相當於從一點出發,經過很多圈,回到這個點,每個點都在圈上,也就經過了所有的點;而如果是若干邊不交的圈的並,就有每個頂點都是偶數度,因為在圈中,前後都有點相連,肯定是偶數。

半尤拉圖對比尤拉圖,一個是通路,一個是迴路,說明尤拉圖多了一個回來的功能,半尤拉圖說明,存在兩個點,這兩點從哪個出發都能經過所有點,但是回不到它自身,於是這兩個點都是奇度頂點,當且僅當,這兩個點連起來或者這兩個點是同一個點時,會變成尤拉圖,而此時,這兩個點的度數都會加1,又變成了偶數度頂點。

哈密頓圖

哈密頓通路:經過所有頂點的路徑(沒有重複點)

哈密頓迴路:經過所有頂點的圈(沒有重複點)

半哈密頓圖:具有哈密頓通路

哈密頓圖:具有哈密頓迴路

哈密頓圖的必要條件與充分條件,哈密頓圖是沒有充要條件的

無向:

哈密頓圖必要條件:

對V的任意非空真子集V1有p(G-v1)<=|V1|

半哈密頓圖必要條件:

對V的任意非空真子集V1有p(G-v1)<=|V1|+1

彼得森圖是非充分條件的反例,

它滿足哈密頓圖必要條件,但是是一個半哈密頓圖。

理解:

對於哈密頓圖的必要條件,如果v1中每個點都不相鄰,則刪除每個點都會產生一個新的連通分支,此時等號成立,如果存在兩個點相鄰,刪除這個兩個點的效果才會產生一個新的連通分支,此時小於號成立。哈密頓圖與半哈密頓圖的對比,半哈密頓圖要求更低一些。

哈密頓圖充分條件1

任意不相鄰頂點u與v有,u的度數+v的度數>=n

哈密頓圖充分條件2:

任意不相鄰頂點個u有,u的度數>=n/2

充分條件二能推出來充分條件一,主要分析充分條件一,需要藉助無向半哈密頓圖的充分條件。

半哈密頓圖充分條件:

任意不相鄰頂點u與v有,u的度數+v的度數>=n-1

有向:

半哈密頓圖的充分條件:

D是n階競賽圖,則D是半哈密頓圖。

推論:G是n階有向圖,G含有n階競賽圖作為子圖,則G是半哈密頓圖

哈密頓圖的充分條件:

強連通的競賽圖是哈密頓圖。

尋找歐拉回路:

Fleury演算法(避橋法):

1.    總是走沒有走過的邊

2.    優先選擇非橋邊

定理:G是無向尤拉圖,避橋法終止時得到的簡單通路是歐拉回路

逐步插入迴路法:

1.    每次求出一個簡單迴路

2.    把新求出的迴路插入老迴路

哈密頓迴路:

定理:

完全圖2k+1階完全圖中同時又k條邊不重哈密頓迴路,且k條邊不重的哈密頓迴路含有所有邊。