算法如下:
設(shè)鄰接矩陣維度為n*n,將鄰接矩陣進行標準化轉(zhuǎn)為概率轉(zhuǎn)移矩陣,方法是每一行元素除以行和保證每行和為1(由于連通,每行和一定大于零,所以除法可實現(xiàn))
首先判斷矩陣對角線上是否有>0的元素,如有證明有歐拉回路(自環(huán)),否則進行下一步
第二步將矩陣平方,判斷矩陣對角線上是否有>0的元素,如有證明有歐拉回路(兩個節(jié)點的環(huán)),否則進行下一步
以此類推,直到計算矩陣的n次方,判斷對角線上是否有>0的元素,如有證明有歐拉回路,此時仍沒有>0的元素證明該連通圖沒有歐拉回路
這個方法的依據(jù)是,如果將鄰接矩陣標準化為概率轉(zhuǎn)移矩陣,那么對矩陣進行k次方,得到的矩陣第(i,j)個元素的意義就是通過k步使得從i走到j(luò)的概率,那么對角線(i,i)代表的就是從i經(jīng)k步回到i的概率,這個概率大于零就代表有一條回路.對于一個共有n個節(jié)點的有歐拉回路的連通圖,最短的歐拉回路結(jié)點個數(shù)一定小于等于n,所以如果n次方后還沒有出現(xiàn)回路概率就可以判斷沒有回路了
算法效率類型我不太清楚是怎么算的……不過這個算法方面,標準化矩陣的部分運算復(fù)雜度不超過n,之后至多進行n步,每一步的矩陣冪大概可以到O(n)復(fù)雜度,判斷至多也就是O(n),所以這個復(fù)雜度不超過O(n^2)的吧
概要描述一個算法,判斷一個用鄰接矩陣表示的連通圖是否具有歐拉回路.該算法效率類型如何?
概要描述一個算法,判斷一個用鄰接矩陣表示的連通圖是否具有歐拉回路.該算法效率類型如何?
數(shù)學(xué)人氣:992 ℃時間:2020-02-04 07:23:56
優(yōu)質(zhì)解答
我來回答
類似推薦
- 求一個源代碼要求顯示圖的鄰接矩陣圖的鄰接表,深度廣度優(yōu)先遍歷最小生成樹PRIM算法KRUSCAL算法圖的連通分
- 已知一個圖的連接矩陣,判斷給定兩個節(jié)點是否連通的算法思想
- 請給位大蝦幫忙給這個圖的鄰接矩陣做個深度優(yōu)先遍歷算法
- 用一節(jié)電池,一個小燈泡和導(dǎo)線,讓小燈泡亮起來,有幾種連接方法.(圖,使用電路符號)
- 圖的鄰接矩陣表示法適用于表示
- 七年級下冊語文傷仲永全文翻譯
- 今有物不知其數(shù),三三數(shù)之余二,五五數(shù)之余三,七七數(shù)之余二.問物幾何?
- 解釋同一字在不同句子里的含義
- Her mother worked in a town last year 變?yōu)榉穸ň?、疑問句然后作肯定、否?/a>
- I will wash my clothes If I___(have) time tomorrow morning
- Gina常坐9路公交車回家翻譯
- 利用馬克思主義基本原理概論回答,為什么說“資本來到世間,從頭到腳,每個毛孔都滴著血和骯臟的東西”?
猜你喜歡
- 1山中訪友最主要講什么?
- 2已知AB=AC,AD垂直BC于DM、N為AD上的點.CM、CN是角ACB的三等分線,BN交AC于E.說明
- 3變化在漢語中是動詞還是名詞
- 4Someone says,“Time is money.”But I think time is _____important than money.
- 51.一列火車長168m 以72km/h的速度行駛,一輛汽車以8m/s的速度行駛.當兩輛車同時行駛時,
- 6寫擬人手法的好處是什么?
- 7寫一個不帶關(guān)聯(lián)詞語表因果關(guān)系的句子
- 8有一個高壓鍋,鍋內(nèi)氣壓每增加100℃,水的沸點相應(yīng)增加1℃.國內(nèi)水的初始溫度是20℃.
- 9為什么有的電解方程式中,氫離子參與反應(yīng),但是在總反應(yīng)中要寫成水的形式?
- 10計算(-2)^2007+(-2)^2008=(-2)^2007+2^2008=2^2007x(2-1) 請解答 如何做啊
- 11掌上珊瑚憐不得 卻叫移作上陽花 .
- 12關(guān)于強調(diào)句的一個問題~