1

有什么区别,能给我举个例子吗?

4

2 回答 2

6

如果你可以从节点 X 开始,在结构中导航而不访问同一个节点两次,然后回到 X,那么结构是循环的。循环是沿着这样的路径访问的一系列节点。

我们通常对无向结构(两个节点之间的连接没有特定方向)中大小为 2 的循环(即访问邻居并立即返回)进行例外处理。

如果结构不是循环的,则它必须是非循环的。

于 2010-10-20T17:53:12.533 回答
1

如果您可以沿着圆圈中的指针返回原始对象。

例如:
A->B->A 是循环
A->B->C->A 是循环
A->B A->C C->D B->D 是无循环(是有向无环图形)

这与“拥有”它们指向的对象的引用智能指针有关。因为那时它们变成了 Münchhausen 并在内存中相互保存,即使它们无法从垃圾收集语言中的 gc-root 访问。

于 2010-10-20T17:39:52.407 回答