analysis of algoritms
Wayne Brehaut
wbrehaut at mcsnet.ca
Thu Sep 9 19:27:37 EDT 2010
On Thu, 09 Sep 2010 18:26:52 -0400, Dave Angel <davea at ieee.org> wrote:
> On 2:59 PM, Baba wrote:
>> Hi
>>
>> In below code "the outer loop test in step 4 will execute ( n + 1 )
>> times (note that an extra step is required to terminate the for loop,
>> hence n + 1 and not n executions), which will consume T4( n + 1 )
>> time." (from http://en.wikipedia.org/wiki/Analysis_of_algorithms)
>>
>> 1 get a positive integer from input
>> 2 if n> 10
>> 3 print "This might take a while..."
>> 4 for i = 1 to n
>> 5 for j = 1 to i
>> 6 print i * j
>> 7 print "Done!"
>>
>> Why does step 4 execute n+1 times? what is the exta step mentioned
>> above
>>
>> tnx
>> Baba
>>
>Why are you posting a question about BASIC syntax in a Python forum?
>Python has no such statement, and its close approximations work much
>differently.
>
>If you really want an abstract answer, then you should be decomposing
>those BASIC statements into smaller atoms. The for statement is
>composed of at least three "atoms", one of which is probably executed
>n+1 times.
>
>A BASIC for statement for i=1 to n
>decomposes into approximately:
>
>4a, i = 1
>4b compare i to n
>4c skip if greater
> 5, 6 do some stuff
>4d increment i
REM And the vuitally important:
4e GOTO 4b
But, as Robert noted, this is undoubtedly "pseudocode" rather than
BASIC. Pity it's not Python-oriented pseudocode...
>Note that the increment happens after steps 5 and 6, but it's part of line 4
>
>Also note that the exact details depend thoroughly on the brand and
>version of BASIC, there being at least 60 versions out there. For
>example, I can think of at least three cases for what i will equal on
>line 7.
>
>Incidentally, in some versions of BASIC, 4b and 4c might come after 4d,
>and only be executed n times.
>
>DaveA
More information about the Python-list
mailing list