Re: An algorithm problem
- From: John Machin <sjmachin@xxxxxxxxxxx>
- Date: Wed, 31 May 2006 20:52:01 +1000
On 31/05/2006 7:20 PM, Bo Yang wrote:
I am sorry , and thanks for your friendliness .
I have change my source code for more meaningful variable name and more comments follow the instructions
John has writen . I think that is useful for you to look my code .
And this time I put the code in the attachment . Indeed , I write that in the Eclipse Pydev , I don't know why
it lose its idention in the mailing list .
Also , I forget an example for the question , and I compensate for it :
Given the integer 2 for instance :
what we exapct from the algorithm is a list of 0 or 1 , for this instance it is 1 1 0 0 .
We can take it as a ring , and fetch any continuous 2 numbers from it , finally get four combinations :
11 , 10 , 00 , 01
and they are 3 , 2 , 0 , 1 .
I hope this time it is clear for all to understand what problem confront me .
And again I am sorry for the trouble , thanks for you again !
OK, it was able to be run this time. The algorithm is recursive. For input == n, it needs stack of depth 2**n. The default limit is 1000, and 2**9 < 1000 < 2**10 -- so it fails when n >= 10. You can change this with sys.setrecursionlimit. Please take careful note of the warnings in the documentation:
"""
setrecursionlimit( limit)
Set the maximum depth of the Python interpreter stack to limit. This limit prevents infinite recursion from causing an overflow of the C stack and crashing Python.
The highest possible limit is platform-dependent. A user may need to set the limit higher when she has a program that requires deep recursion and a platform that supports a higher limit. This should be done with care, because a too-high limit can lead to a crash.
"""
I tried it with sys.setrecursionlimit(2**n+10) -- that worked up to 13 on my Windows XP box, throwing a MemoryError (and a long stack trace!) for n == 14. Be careful; yours may crash more horribly than that.
Can your algorithm be expressed non-recursively?
Best of luck,
John
.
- References:
- An algorithm problem
- From: Bo Yang
- Re: An algorithm problem
- From: Sybren Stuvel
- Re: An algorithm problem
- From: Bo Yang
- An algorithm problem
- Prev by Date: Re: Best Python Editor
- Next by Date: Re: [OT] whitespace
- Previous by thread: Re: An algorithm problem
- Next by thread: Re: An algorithm problem
- Index(es):
Relevant Pages
|