再帰呼び出しで無限ループを検出するにはどうすればよいですか?

プラナフ:

自分自身を再帰的に呼び出す関数があり、無限ループに入った場合に検出して終了したい。つまり、同じ問題で再び呼び出される。それを行う最も簡単な方法は何ですか?

編集:これは関数であり、xとyの異なる値で再帰的に呼び出されます。再帰呼び出しでペア(x、y)の値が繰り返される場合に終了したい。

int fromPos(int [] arr, int x, int y)
newacct:

関数が純粋に機能する場合、つまり状態や副作用がない場合、Set呼び出された引数のいずれかを保持できます(編集:編集内容を確認すると、(x、y)のペアのセットを保持します)で、毎回現在の引数がセットに含まれているかどうかを確認してください。そうすれば、サイクルに非常に早く遭遇した場合に、サイクルを検出できます。ただし、引数のスペースが大きく、繰り返しに時間がかかる場合は、サイクルを検出する前にメモリが不足する可能性があります。もちろん、これは停止の問題なので、一般的には実行できません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Haskellで再帰呼び出しを制限するにはどうすればよいですか?

分類Dev

DB2 SQLで、すでに無限ループに陥っている再帰関数呼び出しを強制終了するにはどうすればよいですか。

分類Dev

クローラーに再帰呼び出しをさせるにはどうすればよいですか?

分類Dev

jprofilerまたはその他:再帰的なメソッド呼び出しをロールアップするにはどうすればよいですか?

分類Dev

このJavaメソッドの最初のforループを再帰呼び出しに変更するにはどうすればよいですか?

分類Dev

定期的に呼び出すサービスへの再帰呼び出しをコーディングするにはどうすればよいですか?

分類Dev

再帰的なテンプレート関数の最初の呼び出しで関数を実行するにはどうすればよいですか?

分類Dev

再帰呼び出しの数を同時に2つの関数に制限するにはどうすればよいですか?-Python

分類Dev

関数への再帰呼び出しを返すにはどうすればよいですか?

分類Dev

他のスコープ関数を呼び出すjavascript関数を「再帰的に」文字列化するにはどうすればよいですか?

分類Dev

再帰的なJavaScript呼び出しでreturnステートメントを適切に設定するにはどうすればよいですか?

分類Dev

デッドロックが発生したときにプロシージャを再帰的に呼び出すにはどうすればよいですか?

分類Dev

ループ内の最後のajax呼び出しを検出するにはどうすればよいですか?

分類Dev

foreachループ内で関数を呼び出して、エラーの再宣言を回避するにはどうすればよいですか?

分類Dev

再帰呼び出し内にあるステートメントを1回だけ印刷するにはどうすればよいですか?Python

分類Dev

再帰呼び出し内にあるステートメントを1回だけ印刷するにはどうすればよいですか?Python

分類Dev

Javaでメソッド呼び出しを検出するにはどうすればよいですか?

分類Dev

無限ループと無限再帰呼び出しの違いは何ですか?

分類Dev

条件を満たした場合、最後に再帰呼び出しを呼び出すにはどうすればよいですか?

分類Dev

HTML 5で無効なイベントを呼び出す検証ルールを特定するにはどうすればよいですか?

分類Dev

適切な応答が返されるまで、サーバーを再帰的かつ効率的に呼び出すにはどうすればよいですか?

分類Dev

再帰を使用して、Pythonで別の関数を繰り返し呼び出す関数を作成するにはどうすればよいですか?

分類Dev

再帰(階乗)を適切に呼び出すにはどうすればよいですか

分類Dev

useQueryによるAPI呼び出しを1回だけ呼び出されるように制限するにはどうすればよいですか?

分類Dev

Pythonでの再帰的な関数呼び出しが原因で発生したUnboundLocalErrorを修正するにはどうすればよいですか?

分類Dev

再帰的なlineToからcanvasで呼び出すアニメーションを作成するにはどうすればよいですか?

分類Dev

ループを介して関数を動的に呼び出すにはどうすればよいですか?

分類Dev

スコープ関数内で呼び出される前にローカル関数を無効にするにはどうすればよいですか?

分類Dev

remove()を呼び出した後に要素を再追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    Haskellで再帰呼び出しを制限するにはどうすればよいですか?

  2. 2

    DB2 SQLで、すでに無限ループに陥っている再帰関数呼び出しを強制終了するにはどうすればよいですか。

  3. 3

    クローラーに再帰呼び出しをさせるにはどうすればよいですか?

  4. 4

    jprofilerまたはその他:再帰的なメソッド呼び出しをロールアップするにはどうすればよいですか?

  5. 5

    このJavaメソッドの最初のforループを再帰呼び出しに変更するにはどうすればよいですか?

  6. 6

    定期的に呼び出すサービスへの再帰呼び出しをコーディングするにはどうすればよいですか?

  7. 7

    再帰的なテンプレート関数の最初の呼び出しで関数を実行するにはどうすればよいですか?

  8. 8

    再帰呼び出しの数を同時に2つの関数に制限するにはどうすればよいですか?-Python

  9. 9

    関数への再帰呼び出しを返すにはどうすればよいですか?

  10. 10

    他のスコープ関数を呼び出すjavascript関数を「再帰的に」文字列化するにはどうすればよいですか?

  11. 11

    再帰的なJavaScript呼び出しでreturnステートメントを適切に設定するにはどうすればよいですか?

  12. 12

    デッドロックが発生したときにプロシージャを再帰的に呼び出すにはどうすればよいですか?

  13. 13

    ループ内の最後のajax呼び出しを検出するにはどうすればよいですか?

  14. 14

    foreachループ内で関数を呼び出して、エラーの再宣言を回避するにはどうすればよいですか?

  15. 15

    再帰呼び出し内にあるステートメントを1回だけ印刷するにはどうすればよいですか?Python

  16. 16

    再帰呼び出し内にあるステートメントを1回だけ印刷するにはどうすればよいですか?Python

  17. 17

    Javaでメソッド呼び出しを検出するにはどうすればよいですか?

  18. 18

    無限ループと無限再帰呼び出しの違いは何ですか?

  19. 19

    条件を満たした場合、最後に再帰呼び出しを呼び出すにはどうすればよいですか?

  20. 20

    HTML 5で無効なイベントを呼び出す検証ルールを特定するにはどうすればよいですか?

  21. 21

    適切な応答が返されるまで、サーバーを再帰的かつ効率的に呼び出すにはどうすればよいですか?

  22. 22

    再帰を使用して、Pythonで別の関数を繰り返し呼び出す関数を作成するにはどうすればよいですか?

  23. 23

    再帰(階乗)を適切に呼び出すにはどうすればよいですか

  24. 24

    useQueryによるAPI呼び出しを1回だけ呼び出されるように制限するにはどうすればよいですか?

  25. 25

    Pythonでの再帰的な関数呼び出しが原因で発生したUnboundLocalErrorを修正するにはどうすればよいですか?

  26. 26

    再帰的なlineToからcanvasで呼び出すアニメーションを作成するにはどうすればよいですか?

  27. 27

    ループを介して関数を動的に呼び出すにはどうすればよいですか?

  28. 28

    スコープ関数内で呼び出される前にローカル関数を無効にするにはどうすればよいですか?

  29. 29

    remove()を呼び出した後に要素を再追加するにはどうすればよいですか?

ホットタグ

アーカイブ