Sean A1, A2, A3 y A4 cuatro arrays de dimensiones 10 x 5, 5 x 20, 20 x 10 y 10 x 5, respectivamente. El número mínimo de multiplicaciones escalares requeridas para encontrar el producto A1A2A3A4 usando el método básico de multiplicación de arrays es
(A) 1500
(B) 2000
(C) 500
(D) 100
Respuesta: (A)
Explicación: Tenemos muchas formas de hacer la multiplicación de arrays en string porque la multiplicación de arrays es asociativa. En otras palabras, no importa cómo pongamos entre paréntesis el producto, el resultado de la multiplicación de strings de arrays obtenido seguirá siendo el mismo. Aquí tenemos cuatro arrays A1, A2, A3 y A4, tendríamos:
((A1A2)A3)A4 = ((A1(A2A3))A4) = (A1A2)(A3A4) = A1((A2A3)A4) = A1(A2(A3A4)).
Sin embargo, el orden en que ponemos el producto entre paréntesis afecta el número de operaciones aritméticas simples necesarias para calcular el producto o la eficiencia. Aquí, A1 es una array de 10 x 5, A2 es una array de 5 x 20, A3 es una array de 20 x 10 y A4 es de 10 x 5.
Si multiplicamos dos arrays A y B de orden lxm y mxn respectivamente, entonces el número de multiplicaciones escalares en la multiplicación de A y B será lxmxn.
Después,
El número de multiplicaciones escalares requeridas en la siguiente secuencia de arrays será:
A1((A2A3)A4) = (5 x 20 x 10) + (5 x 10 x 5) + (10 x 5 x 5) = 1000 + 250 + 250 = 1500.
Todas las demás opciones entre paréntesis requerirán un número de multiplicaciones superior a 1500.
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