Podcast
Questions and Answers
¿Por qué la expresión $n - i + 1$ no puede ser siempre considerada una cota válida?
¿Por qué la expresión $n - i + 1$ no puede ser siempre considerada una cota válida?
¿Qué condición debe cumplir una función de cota válida?
¿Qué condición debe cumplir una función de cota válida?
¿Cuál de las siguientes afirmaciones es incorrecta sobre la llamada $f([1, 2, 3, 4, 5], 1, 3)$?
¿Cuál de las siguientes afirmaciones es incorrecta sobre la llamada $f([1, 2, 3, 4, 5], 1, 3)$?
¿Cuál es la correcta llamada a la función f que satisface la especificación dada?
¿Cuál es la correcta llamada a la función f que satisface la especificación dada?
Signup and view all the answers
¿Qué indica la expresión $b - a + 1 = k$ en el contexto de la función f?
¿Qué indica la expresión $b - a + 1 = k$ en el contexto de la función f?
Signup and view all the answers
¿Por qué la llamada a la función f(en un vector, con k < 0) fallaría?
¿Por qué la llamada a la función f(en un vector, con k < 0) fallaría?
Signup and view all the answers
Si $n ≤ 4$, ¿cuál es la posible consecuencia de la expresión inicial de la variable i?
Si $n ≤ 4$, ¿cuál es la posible consecuencia de la expresión inicial de la variable i?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones describe incorrectamente el intervalo [a, b]?
¿Cuál de las siguientes afirmaciones describe incorrectamente el intervalo [a, b]?
Signup and view all the answers
¿Cuál es la respuesta para $T(n)$ cuando $n \leq 1$?
¿Cuál es la respuesta para $T(n)$ cuando $n \leq 1$?
Signup and view all the answers
¿Qué se puede deducir sobre $T(n)$ cuando $n > 1$?
¿Qué se puede deducir sobre $T(n)$ cuando $n > 1$?
Signup and view all the answers
La generalización se utiliza para:
La generalización se utiliza para:
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre la mejora de eficiencia de algoritmos recursivos es correcta?
¿Cuál de las siguientes afirmaciones sobre la mejora de eficiencia de algoritmos recursivos es correcta?
Signup and view all the answers
¿Qué implica la definición recursiva en algoritmos como quicksort y mergesort?
¿Qué implica la definición recursiva en algoritmos como quicksort y mergesort?
Signup and view all the answers
¿Cómo se describe el proceso para obtener versiones recursivas finales a partir de versiones no finales?
¿Cómo se describe el proceso para obtener versiones recursivas finales a partir de versiones no finales?
Signup and view all the answers
La relación $T(n) = 2T(n/2) + c'n$ es un ejemplo de cuál concepto?
La relación $T(n) = 2T(n/2) + c'n$ es un ejemplo de cuál concepto?
Signup and view all the answers
En el contexto de algoritmos recursivos, ¿cuál es el efecto de no definir adecuadamente el caso base?
En el contexto de algoritmos recursivos, ¿cuál es el efecto de no definir adecuadamente el caso base?
Signup and view all the answers
¿Qué relación establece la ecuación $T(n) = T(n-1) + T(n-2) + c_1$?
¿Qué relación establece la ecuación $T(n) = T(n-1) + T(n-2) + c_1$?
Signup and view all the answers
¿Cuál es la notación que representa el crecimiento de $T(n)$ según el contenido?
¿Cuál es la notación que representa el crecimiento de $T(n)$ según el contenido?
Signup and view all the answers
¿Bajo qué condición termina el algoritmo de búsqueda binaria descrito?
¿Bajo qué condición termina el algoritmo de búsqueda binaria descrito?
Signup and view all the answers
¿Qué sucede si la precondición inicial $c
ightarrow f$ se mantiene?
¿Qué sucede si la precondición inicial $c ightarrow f$ se mantiene?
Signup and view all the answers
¿Qué conclusión se puede obtener acerca de la función $f(int v[], int x, int c, int f)$?
¿Qué conclusión se puede obtener acerca de la función $f(int v[], int x, int c, int f)$?
Signup and view all the answers
¿Qué componente asegura que el algoritmo termina en caso de que $c$ y $f$ sean iguales?
¿Qué componente asegura que el algoritmo termina en caso de que $c$ y $f$ sean iguales?
Signup and view all the answers
¿Por qué es incorrecto afirmar que $T(n)
otin O(n ext{ log } n)$?
¿Por qué es incorrecto afirmar que $T(n) otin O(n ext{ log } n)$?
Signup and view all the answers
¿Qué condición inicial es necesaria para aplicar el algoritmo de búsqueda binaria eficientemente?
¿Qué condición inicial es necesaria para aplicar el algoritmo de búsqueda binaria eficientemente?
Signup and view all the answers
¿Cuál es la ventaja de añadir parámetros adicionales a los algoritmos recursivos?
¿Cuál es la ventaja de añadir parámetros adicionales a los algoritmos recursivos?
Signup and view all the answers
¿Qué caracteriza a un algoritmo recursivo cuando se reduce el tamaño del problema por sustracción?
¿Qué caracteriza a un algoritmo recursivo cuando se reduce el tamaño del problema por sustracción?
Signup and view all the answers
¿Cuál es el coste para $a = 1$ en un algoritmo recursivo según la fórmula mencionada?
¿Cuál es el coste para $a = 1$ en un algoritmo recursivo según la fórmula mencionada?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre los parámetros adicionales en algoritmos de ordenación es correcta?
¿Cuál de las siguientes afirmaciones sobre los parámetros adicionales en algoritmos de ordenación es correcta?
Signup and view all the answers
¿Qué sucede si se añade un parámetro acumulador al transformar un algoritmo recursivo no final en uno final?
¿Qué sucede si se añade un parámetro acumulador al transformar un algoritmo recursivo no final en uno final?
Signup and view all the answers
En un algoritmo recursivo, ¿qué implica que el coste sea exponental cuando 'a > 1'?
En un algoritmo recursivo, ¿qué implica que el coste sea exponental cuando 'a > 1'?
Signup and view all the answers
¿Cuál es el principal propósito de utilizar métodos de ordenación como quicksort y mergesort?
¿Cuál es el principal propósito de utilizar métodos de ordenación como quicksort y mergesort?
Signup and view all the answers
¿Qué se puede definir como la característica clave en la transformación de un algoritmo recursivo no final a uno final?
¿Qué se puede definir como la característica clave en la transformación de un algoritmo recursivo no final a uno final?
Signup and view all the answers
Cuántos intervalos [a, b] se encuentran en el vector [1, 1, 9, 0, 3, 4, 4] tal que cumplen con la longitud k = 2 y n = 5?
Cuántos intervalos [a, b] se encuentran en el vector [1, 1, 9, 0, 3, 4, 4] tal que cumplen con la longitud k = 2 y n = 5?
Signup and view all the answers
Cuál de las siguientes afirmaciones sobre límites es cierta?
Cuál de las siguientes afirmaciones sobre límites es cierta?
Signup and view all the answers
Qué condición deben cumplir los valores k y n para ser válidos en la función mencionada?
Qué condición deben cumplir los valores k y n para ser válidos en la función mencionada?
Signup and view all the answers
Cuál de las siguientes afirmaciones es incorrecta?
Cuál de las siguientes afirmaciones es incorrecta?
Signup and view all the answers
Qué resultado se obtiene al aplicar el teorema del límite a lim (log n) / n cuando n tiende a infinito?
Qué resultado se obtiene al aplicar el teorema del límite a lim (log n) / n cuando n tiende a infinito?
Signup and view all the answers
Cuál es la relación válida entre las notaciones de complejidad 𝛩(n^2) y 𝛩(2 * n^2)?
Cuál es la relación válida entre las notaciones de complejidad 𝛩(n^2) y 𝛩(2 * n^2)?
Signup and view all the answers
Cuál de las siguientes condiciones es parte de la postcondición de los intervalos?
Cuál de las siguientes condiciones es parte de la postcondición de los intervalos?
Signup and view all the answers
Cuál de las siguientes combinaciones es incompatible con las condiciones de k y n?
Cuál de las siguientes combinaciones es incompatible con las condiciones de k y n?
Signup and view all the answers
Bajo qué condición el algoritmo de búsqueda binaria nunca termina?
Bajo qué condición el algoritmo de búsqueda binaria nunca termina?
Signup and view all the answers
¿Qué afirmación es cierta respecto al punto medio en el algoritmo de búsqueda binaria?
¿Qué afirmación es cierta respecto al punto medio en el algoritmo de búsqueda binaria?
Signup and view all the answers
¿Cuándo termina el algoritmo de búsqueda binaria según la implementación dada?
¿Cuándo termina el algoritmo de búsqueda binaria según la implementación dada?
Signup and view all the answers
¿Cuál es un error común en la interpretación de la terminación del algoritmo de búsqueda binaria?
¿Cuál es un error común en la interpretación de la terminación del algoritmo de búsqueda binaria?
Signup and view all the answers
¿Cuál es un caso base en el algoritmo que podría conducir a una recursión infinita?
¿Cuál es un caso base en el algoritmo que podría conducir a una recursión infinita?
Signup and view all the answers
¿Qué ocurre en la llamada recursiva si v[m] es mayor que x?
¿Qué ocurre en la llamada recursiva si v[m] es mayor que x?
Signup and view all the answers
¿Por qué es importante la condición 0 ≤ c ≤ f + 1 ≤ longitud(v)?
¿Por qué es importante la condición 0 ≤ c ≤ f + 1 ≤ longitud(v)?
Signup and view all the answers
¿Qué se puede concluir sobre la técnica de búsqueda binaria en comparación con la búsqueda lineal?
¿Qué se puede concluir sobre la técnica de búsqueda binaria en comparación con la búsqueda lineal?
Signup and view all the answers
Study Notes
Fundamentos de Algoritmia - Examen de Enero
-
Observaciones:
- En los exámenes, hay una única respuesta correcta por pregunta.
- Cada respuesta correcta vale 0.1 puntos.
- Cada respuesta incorrecta resta 0.033 puntos.
Pregunta 1
-
Especificación:
- {v.size ≥ 0}
- fun xxx(vector
v) dev intr - {r = maxp, q : 0 ≤ p ≤ q ≤ v.size ∧ ∀i : p < i < q : v[i] = 0 : q - p}
- Vector de entrada: v = [5, 4, 0, 4, 3, 0, 0, 0, 0, 5, 3, 0, 0, 5]
- Pregunta: ¿Cuál es el valor de r según la especificación?
- Respuesta: (a) r = 7.
Pregunta 2
- Pregunta: ¿Cuál es la complejidad en el peor caso de un algoritmo óptimo que busca el máximo en un vector ordenado de n elementos?
- Respuesta: (c) Θ(n).
Pregunta 3
-
Algoritmo:
- int c = 0;
- for (int i = 1; i < n; i *= 2)
- for (int j = 0; j < m+2; ++j)
- c += 4;
- Pregunta: ¿Cuál es la complejidad del algoritmo?
- Respuesta: (b) Θ(mlog n).
Pregunta 4
-
Predicado:
- b = ∃w : 0 ≤ w < n : (∃k : 0 ≤ k : a[w] = 2 * k + 1)
- Pregunta: ¿Qué significa el predicado para un vector a de n enteros con n ≥ 1 y una variable booleana b?
- Respuesta: (a) Hay al menos una posición en el vector que contiene un número impar positivo.
Pregunta 5
-
Especificación:
- {a.size ≥ 0}
- fun contar Pares(vector
a) dev int c - {c = #i : 0 < i < a.size : a[i] % 2 = 0}
-
Algoritmo:
- int contarPares (vector
const& a) { - int c=0; int k=-1;
- while (k<a.size()-1)
- { if (a[k+1] % 2 == 0) {c=c+1;} k=k+1; }
- return c; }
- int contarPares (vector
- Pregunta: Determina si el algoritmo anterior es correcto y, en su caso, cuál es el invariante.
- Respuesta: (a) Es correcto con invariante {−1 ≤ k < a.size \ c = #i : 0 ≤ i ≤ k : a[i] % 2 = 0}.
Pregunta 6
- Pregunta: Indica cuál de las siguientes afirmaciones sobre el algoritmo quicksort es falsa.
- Respuesta: (a) Si los valores del vector están ordenados en orden creciente, tiene una complejidad cuadrática respecto al tamaño del vector.
Pregunta 7
- Pregunta: ¿Qué dos algoritmos tienen el mismo orden de complejidad?
- Respuesta: (a) se comportan de forma semejante para tamaños de entrada grandes.
Pregunta 8
- Pregunta: ¿Cuál es el requisito imprescindible para utilizar el algoritmo de búsqueda binaria sobre un vector?
- Respuesta: (c) Los valores del vector deben estar ordenados.
Pregunta 9
-
Algoritmo:
- int k = 0; int N = 100;
- for (int i = N-1; i > -N; --i) ++k;
- Pregunta: Indica qué función de cota utilizarías para probar la terminación del bucle.
- Respuesta: (d) f(i,N) = N-i
Pregunta 10
-
Recurrencia:
- T(n) = (n-1) + n si n > 0
- T(n) = 0 si n = 0
- Pregunta: ¿Cuál es el coste del algoritmo con esa recurrencia?
- Respuesta: O(n²).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este cuestionario explora conceptos clave en análisis de algoritmos, incluyendo condiciones para cotas válidas y especificaciones en funciones recursivas. También se examina la mejora de la eficiencia en algoritmos como quicksort y mergesort. Ideal para estudiantes de algoritmos avanzados.