Red Huang

Red Huang

是樹嗎?

解法
若一圖形為樹的結構,表示此圖形中所有的點都互相連通且必無循環存在,因此判斷循環的存在是本題最重要的關鍵。一個判斷有無循環存在的簡單方法是利用集合的概念,把目前已知的連線關係歸類到同一個集合中,我們設計一個範例來逐步解釋這個過程:

Input
1 2
2 3
4 6
2 5
2 4
5 6
0 0

首先我們假設所有的點都不在任何一個集合中。
第一個輸入:1 2,代表 1 指向 2,所以我們把 1 與 2 歸類成集合 I。

第二個輸入:2 3,表示 2 指向 3,所以 3 也屬於集合 I。

第三個輸入:4 6,表示 4 指向 6,所以 4 與 6 屬於另一個集合 II

下一個輸入:2 5,所以 5 也屬於集合 I。

下一個輸入:2 4,所以包含 4 的這個集合內的全部元素都應該歸類到集合 I。

最後一個輸入:5 6,表示 5 指向 6,但是 5 與 6 已經屬於同一個集合,將同一個集合內的兩個點連起來必然會形成循環,因此這個圖形不是樹。

若所有的輸入處理完後,所有的點都屬於同一個集合,則這個圖形就是一棵樹。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。