Algoritmos | Análisis de Algoritmos | Pregunta 14

En la siguiente función C, sea n >= m.

int gcd(n,m)
{
  if (n%m ==0) return m;  
  n = n%m;
  return gcd(m, n);
}

¿Cuántas llamadas recursivas realiza esta función?
(A) \ theta(logn)
(B) \Omega(n)
(C) \ theta(loglogn)
(D) \ theta(sqrt(n))
(A) A
(B) B
(C) C
(D) D

Respuesta: (A)
Explicación: El código anterior es la implementación del  algoritmo euclidiano  para encontrar el máximo común divisor (GCD).
Consulte  http://mathworld.wolfram.com/EuclideanAlgorithm.html  para conocer la complejidad del tiempo.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *