递归深度过大引发的问题
在dfs的时候碰到了两个问题。
首先是递归的次数过多导致报错:
1 | RuntimeError: maximum recursion depth exceeded。 |
python默认的递归深度是有限的,大概900多的样子,所以当递归深度超过这个值的时候,就会引发这样的异常。
解决的方法是手工设置递归调用深度,方式为:
1 | import sys |
第二个引发的问题,是可能内存不足导致栈溢出的报错:
1 | Segmentation fault (core dumped)。 |
而且它没有其他任何提示,终端上只会出现这一行报错。网上大部分的方法都是更改stack的限制:
1 | ulimit -a |
因为我很清楚是内存不足的问题哈,所以就直接这么解决了。
有的博主好像是因为import包时,顺序出现了问题,需要一个个排查。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.