2010-10-20 199 views

回答

7

如果您可以從節點X開始,在兩次訪問同一個節點的情況下瀏覽結構,並返回到X,則結構是循環的。該循環是沿着這樣的路徑訪問的一系列節點。

我們通常會在無向結構(兩個節點之間的連接沒有特定方向)中對大小爲2的循環(即訪問鄰居並回來)做例外。

如果一個結構不是循環的,它必須是非循環的。

1

如果您可以按循環中的指針返回到原始對象。

例如:
A-> B-> A是週期
A-> B-> C-> A是週期
A-> B A->ÇC-> d B- > D是無週期的(它是一個有向無環圖)

這與「指向」自己指向的對象的refcounted智能指針有關。因爲這樣他們就成爲了Münchhausen,並且在記憶中保持着對方的地位,即使他們無法從垃圾收集語言中的GC根源中獲得。