日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

求树的直径

發(fā)布時(shí)間:2023/12/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求树的直径 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

歡迎來踩本人博客
樹的直徑:
就是樹上最長(zhǎng)路
方法 :
求兩邊DFS即可

步驟:
1.從任意一點(diǎn)進(jìn)行dfs,然后找到一個(gè)最長(zhǎng)路徑,記錄最遠(yuǎn)點(diǎn)u
2.然后從u再進(jìn)行dfs,找最長(zhǎng)路徑,記錄一點(diǎn)v。
(u,v)就是樹的直徑

證明:可以看這個(gè)視頻的第27:00(求樹直徑的原理和證明)

第四屆藍(lán)橋杯a組

證明:

我們可以看出圖中,樹的直徑是(4->2->5),長(zhǎng)度為9.
我們一開始選定一個(gè)點(diǎn)dfs
如果是直徑外一點(diǎn),比如w1,從w1進(jìn)行dfs找到的就是點(diǎn)4,路徑就1->2->4,這個(gè)路徑一定會(huì)與樹的直徑相交,而找到的4是直徑的一端,那從4再進(jìn)行dfs就是樹的直徑的另一端5,這樣兩遍dfs你就找到了樹的直徑
如果是直徑內(nèi)一點(diǎn),比如w2,從w2開始dfs找到的最遠(yuǎn)點(diǎn)4,這個(gè)路徑會(huì)被包含在樹的直徑里,那找到的點(diǎn)也就是樹直徑的一端,再dfs就可以找到另一端。
綜上用兩遍dfs就可以找到樹的直徑

總結(jié)

以上是生活随笔為你收集整理的求树的直径的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。