Python

Python アルゴリズムの再帰回数の制限する

Pythonのライブラリsysを使ってアルゴリズムの再帰の深さを制限できる。再帰の最大の深さがわかっている場合には、最初に行うべき。

import sys
sys.setrecursionlimit(10000)

私の環境で以下を実行すると、後述するエラーが確認できた。

import sys
sys.setrecursionlimit(10000)

def rec():
    rec()

rec()
Traceback (most recent call last):
  File "test.py", line 5, in rec
    rec()
  File "test.py", line 5, in rec
    rec()
  File "test.py", line 5, in rec
    rec()
  [Previous line repeated 997 more times]
RecursionError: maximum recursion depth exceeded