2016-04-25 8 views
0

リンクされたリストのループを検出する方法に関するいくつかの質問があります。 Hereがその一例である。私の質問は、なぜこれらのアルゴリズムは2つのポインタを使用するのですか? 1つのポインタでループしてノードを訪問したとマークすることはできませんでした。すでに訪問したノード、またはリンクされたリストの最後に到達すると(next = null)、ループがないことがわかります?リンクされたリストのループを検出することにフォローアップ

答えて

2

を訪れたよう

は、あなたがそれを行うには、ノード自身で余分なスペース、またはそのサイズのものと大きくなり、補助データ構造のいずれかを必要とするノードをマークするためです一方、2つのポインタの解決策は、もう1つのポインタに対して十分な余分なスペースしか必要としません。

[追加された編集:] ...そしておそらく、2つのポインタの解決策がであり、賢い解決策が好きな人もです。

関連する問題