Skip to article frontmatterSkip to article content

Ejercicios: Ordenamiento y Búsqueda

Acerca de

Estos ejercicios se centran en la implementación de algoritmos fundamentales de búsqueda y ordenamiento. Comprender su funcionamiento interno y sus diferencias en eficiencia es clave para escribir código performante. Para cada algoritmo de ordenamiento, se recomienda implementar una función void ordenar(int arreglo[], size_t n) que modifique el arreglo in-place.

1: Algoritmos de Búsqueda

1.1: Búsqueda Lineal

Descripción

Implementar una función que busque un elemento en un arreglo recorriéndolo secuencialmente desde el primer hasta el último elemento. Es el método de búsqueda más simple y no requiere que el arreglo esté ordenado.

1.2: Búsqueda Binaria

Descripción

Implementar una función de búsqueda binaria, un algoritmo mucho más eficiente que requiere que el arreglo esté previamente ordenado. Funciona dividiendo repetidamente el intervalo de búsqueda por la mitad.

2: Algoritmos de Ordenamiento Cuadráticos (O(n2)O(n^2))

2.1: Ordenamiento de Burbuja (Bubble Sort)

Descripción

Implementar el ordenamiento de burbuja. Este método recorre repetidamente la lista, compara elementos adyacentes y los intercambia si están en el orden incorrecto. Las pasadas a través de la lista se repiten hasta que no se necesiten más intercambios.

2.2: Ordenamiento por Selección (Selection Sort)

Descripción

Implementar el ordenamiento por selección. Este algoritmo divide el arreglo en una parte ordenada y una desordenada. En cada iteración, encuentra el elemento más pequeño de la parte desordenada y lo intercambia con el primer elemento de esta, moviendo así el límite entre ambas partes.

2.3: Ordenamiento por Inserción (Insertion Sort)

Descripción

Implementar el ordenamiento por inserción. Este método construye el arreglo ordenado final un elemento a la vez. Es muy eficiente para arreglos pequeños o que ya están casi ordenados.

3: Algoritmos de Ordenamiento Avanzados (O(nlogn)O(n \log n))

3.1: Ordenamiento por Fusión (Merge Sort)

Descripción

Implementar Merge Sort, un algoritmo eficiente basado en la técnica “Divide y Vencerás”.

3.2: Ordenamiento Rápido (Quick Sort)

Descripción

Implementar Quick Sort, otro algoritmo “Divide y Vencerás” muy eficiente en la práctica.