Test sobre Algoritmos de ordenación y búsqueda

Algoritmos de Ordenación y Búsqueda: Guía Completa para Estudiantes

Pregunta 1 de 50%

Un algoritmo debe terminar en un número finito de pasos para ser considerado válido.

Test: Algoritmos y su Eficiencia, Complejidades Temporales de Algoritmos, Algoritmos de Ordenación

20 preguntas

Pregunta 1: Un algoritmo debe terminar en un número finito de pasos para ser considerado válido.

A. Sí

B. No

Explicación: Según las características de un algoritmo, debe ser 'Finito', lo que significa que 'debe terminar en un número finito de pasos'.

Pregunta 2: Según el texto proporcionado, ¿cuál de las siguientes NO es una característica fundamental que debe cumplir una secuencia de pasos para ser considerada un algoritmo?

A. Cada paso debe ser preciso y sin ambigüedades.

B. Debe terminar en un número finito de pasos.

C. Cada operación debe ser lo suficientemente básica como para poder ser realizada por una persona con lápiz y papel en un tiempo finito.

D. Debe tener una complejidad temporal de O(n).

Explicación: El texto establece que un algoritmo debe ser Finito, Definido, Efectivo, tener Entrada y Salida. La complejidad temporal de O(n) es una medida de eficiencia en el análisis de algoritmos, pero no es una característica intrínseca que defina si una secuencia de pasos es o no un algoritmo.

Pregunta 3: Un algoritmo de ordenación con complejidad O(log n) es un ejemplo común de los algoritmos de ordenación simples con crecimiento cuadrático.

A. Sí

B. No

Explicación: La complejidad O(log n) indica un tiempo logarítmico, donde el tiempo de ejecución crece muy lentamente. Los algoritmos de ordenación simples, como Bubble Sort, tienen una complejidad O(n²) (tiempo cuadrático), no logarítmica.

Pregunta 4: Un algoritmo de ordenación O(n²) es significativamente más eficiente que uno O(n log n) para valores grandes de n.

A. Sí

B. No

Explicación: El material de estudio indica explícitamente: "Es crucial entender que un algoritmo O(n log n) es significativamente más eficiente que uno O(n²) para valores grandes de n." Por ejemplo, para n=1000, n log n es 10.000 y n² es 1.000.000, lo que demuestra que O(n log n) es mucho más eficiente.

Pregunta 5: ¿Cuáles de los siguientes algoritmos son ejemplos de complejidad temporal O(n log n)?

A. Búsqueda lineal

B. Merge Sort

C. Bubble Sort

D. Quick Sort

Explicación: El material de estudio indica que el tiempo linealítmico (O(n log n)) es común en algoritmos de ordenación avanzados y menciona específicamente Merge Sort y Quick Sort como ejemplos. Búsqueda lineal tiene una complejidad O(n), mientras que Bubble Sort tiene una complejidad O(n²).