¿En qué consiste el algoritmo de búsqueda lineal?
Consiste en revisar cada elemento de una lista uno por uno hasta encontrar el elemento deseado.
¿Cuál es el requisito fundamental para poder utilizar el algoritmo de búsqueda binaria?
La lista de objetos o elementos debe estar ordenada.
El algoritmo de búsqueda binaria funciona bajo un principio de _____ y _____.
divide y vencerás (divide and conquer)
Describe el proceso general de la búsqueda binaria.
Se inspecciona el elemento central, se descarta la mitad donde no puede estar el objetivo y se repite el proceso en la mitad restante.
¿Qué representa la notación Big O en el análisis de algoritmos?
Representa el peor escenario posible para el tiempo de ejecución de un algoritmo a medida que aumenta el tamaño de la entrada (n).
¿Qué representa la notación Omega (Ω) en el análisis de algoritmos?
Representa el mejor escenario posible para el tiempo de ejecución de un algoritmo.
¿Cuál es la complejidad de tiempo en el peor de los casos (Big O) para la búsqueda lineal en una lista de ‘n’ elementos?
O(n)
¿Cuál es la complejidad de tiempo en el peor de los casos (Big O) para la búsqueda binaria en una lista ordenada de ‘n’ elementos?
O(log n)
¿Cuál es la complejidad de tiempo en el mejor de los casos (Omega) para la búsqueda lineal y la búsqueda binaria?
Ω(1)
¿En qué escenario la búsqueda lineal podría ser más práctica que la búsqueda binaria?
Si la lista no está ordenada y solo se necesita buscar un elemento una vez, ya que ordenar la lista primero llevaría tiempo adicional.
Nombra los tres algoritmos de ordenamiento discutidos en la sección.
Merge sort (ordenamiento por mezcla), selection sort (ordenamiento por selección) y bubble sort (ordenamiento de burbuja).
¿Cuál es el enfoque principal del algoritmo de ordenamiento por mezcla (merge sort)?
Utiliza un enfoque de “divide y vencerás”, dividiendo el problema en partes más pequeñas y luego fusionándolas de forma ordenada y recursiva.
¿Cómo funciona el algoritmo de ordenamiento por selección (selection sort)?
Busca repetidamente el elemento más pequeño en la porción no ordenada de la lista y lo intercambia con el primer elemento de esa porción.
¿Cómo funciona el algoritmo de ordenamiento de burbuja (bubble sort)?
Compara repetidamente pares de elementos adyacentes y los intercambia si están en el orden incorrecto, moviendo los elementos más grandes hacia el final.
¿Cuál es la complejidad de tiempo en el peor de los casos (Big O) para bubble sort y selection sort?
O(n²)
¿Cuál es la complejidad de tiempo en el peor de los casos (Big O) para merge sort?
O(n log n)
¿Cuál es la complejidad de tiempo en el mejor de los casos (Omega) para el bubble sort?
Ω(n)
¿En qué situación el algoritmo bubble sort alcanza su mejor rendimiento de Ω(n)?
Cuando la lista de entrada ya está ordenada.
¿Cuál es la complejidad de tiempo en el mejor de los casos (Omega) para selection sort y merge sort?
Ω(n²) para selection sort y Ω(n log n) para merge sort.
En el experimento para identificar algoritmos de ordenamiento, ¿cómo se pudo identificar el merge sort?
Su tiempo de ejecución fue muy similar tanto en la lista ordenada (mejor caso) como en la invertida (peor caso).
En el experimento para identificar algoritmos, ¿qué comportamiento delató al bubble sort?
Fue significativamente más rápido en la lista ya ordenada en comparación con la lista invertida.
Concepto: struct en C
Definición: Una estructura de datos personalizada que agrupa múltiples variables, posiblemente de diferentes tipos, bajo un solo nombre.
¿Qué palabra clave se utiliza en C, junto con struct, para crear un nuevo nombre de tipo para una estructura?
typedef
Dentro de la definición de una struct, las variables que la componen se conocen como _____ o _____.
atributos o miembros (attributes or members)