HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Number of iterations of the Euclidean algorithm

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
numbertheiterationseuclideanalgorithm

Problem

I have a doubt about the runtime of the Euclidean algorithm; the slide of my Professor says:

The calculation of $\mathrm{GCD} (a, b)$ stops at the most after $2\log_2 a$ iterations.

  • Since $\log_2 a$ is the size of the input,



  • calculation requires a linear number of iterations.



  • The algorithm therefore has polynomial runtime.



I don't get how he could deduce (2) from (1), and (3) from (2); until now, the only concept of theory that he gave us is that to represent a positive integer, we need $1+\log_2 x$ bits.

Solution

There's very little to deduce.

The number of iterations is linear in the size of the input because the size of the input is $2+\log_2 a + \log_2 b$ and the number of iterations is $2\log_2 a$, which is less than $2(2+\log_2 a + \log_2 b)$, so is less than twice the length of the input. Hence, (2) holds.

Each iteration requires only a polynomial number of steps: all it does is tests and simple arithmetic operations, all of which can be done in time polynomial in the number of bits involved. Therefore, the total required time is some linear function (the number of iterations) times some polynomial function (the cost of each iteration), which is another polynomial function. So (3) holds.

Context

StackExchange Computer Science Q#24076, answer score: 6

Revisions (0)

No revisions yet.