4
で循環参照を検出する方法:例えばJavaScriptの
$ node
> var x = {}
undefined
> x.x = x
{ x: [Circular] }
構造の一種は、彼らがこれを達成するために使用している疑問に思う、それは私がちょうど何をしたかに直接エンコードされていないので。
var graph = new Graph(object)
graph.detectCircularReferences()
そして、それはどういうことが起こるかわかりません。それを実装する方法を学ぶことを願っています。
[有向グラフのサイクルを検出するための最適なアルゴリズム](https://stackoverflow.com/questions/261573/best-algorithm-for-detecting-cycles-in-a-directed-graph)の可能な複製) –
[こちら](https://github.com/nodejs/node/blob/3fe165ace6723b1446994574a5197bb70d9a6c72/lib/util.js#L186)と[ここ](https://github.com/nodejs/node/blob/)を参照してください。 3fe165ace6723b1446994574a5197bb70d9a6c72/lib/util.js#L168)。それらは基本的に、循環オブジェクトをJSON.string化しようとしているときに例外を発生させます。 –
遭遇するオブジェクトの参照を配列にプッシュする再帰関数を持つことができます。配列内にあるかどうか)。 –