Opción multiple
2-1
¿Cuál de las siguientes funciones es O (N)? (4 puntos)
A. 2NlogN
B. logN 2
C. N (mentira) 2
D. N 2 /2
2-2
Dada una matriz A tridimensional N × N × N, la complejidad temporal de encontrar el elemento más pequeño sin cambiar la matriz es: (4 puntos)
A. O (N 2 )
B. O (nlogn)
C. O (N 3 logN)
D. O (N 3 )
2-4
La complejidad de tiempo del siguiente segmento de código es (). (4 puntos)
x=0;
for( i=1; i<n; i++ )
for ( j=1; j<=n-i; j++ )
x++;
A. O (n)
B. O (n 2 )
C. O (n 3 )
D. O (2 n )
2-5
código siguiente
if ( A > B ) {
for ( i=0; i<N*N/100; i++ )
for ( j=N*N; j>i; j-- )
A += B;
}
else {
for ( i=0; i<N*2; i++ )
for ( j=N*3; j>i; j-- )
A += B;
}
La complejidad temporal de es: (4 puntos)
A. O (N 3 )
B. O (N 4 )
C. O (N 5 )
D. O (N 6 )
2-6
código siguiente
for(i=0; i<n; i++)
for(j=i; j>0; j/=2)
printf(“%d\n”, j);
La complejidad temporal de es: (4 puntos)
A. O (N × i)
B. O (N)
C. O (N 2 )
D. O (NlogN)
El bucle interior se divide por 2 cada vez, solo log2 es la parte inferior, N veces;
Preguntas de programación
7-1 Encuentre el valor máximo y su subíndice (80 puntos)
Esta pregunta requiere escribir un programa para encontrar el valor máximo de un número n dado y su correspondiente subíndice mínimo (el subíndice comienza desde 0).
Formato de entrada:
introduzca un número entero positivo n (1 <n≤10) en la primera línea. Ingrese n números enteros en la segunda línea, separados por espacios.
Formato de
salida : muestra el valor máximo y el subíndice mínimo del valor máximo en una línea, separados por un espacio.
Muestra de entrada:
6
2 8 10 1 9 10
Salida de muestra:
10 2
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int A[n];
for(int i=0; i<n; i++){
cin >> A[i];
}
int max=A[0];
int max_key = 0;
for (int j=1; j<n; j++){
if(A[j] > max){
max = A[j];
max_key = j;
}
}
cout << max << " " << max_key;
}