Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3. Inicio del Ciclo Principal: Luego, entramos en un ciclo infinito mientras las
variables mayores y menores estén disponibles. Comenzamos comparando
el primer elemento de la lista con el último. Si el valor mayor es el de la
variable menor, entonces intercambiaremos los dos elementos. Repetimos
este proceso con el siguiente elemento en la lista y el anterior. Si las
comparaciones continúan siendo favorables, entonces intercambiamos el
elemento mayor con el elemento menor. Recordemos que los ciclos pueden
comparar cualquier número de elementos, no solo dos.
2. void bubbleSort(int arr[], int n): Esta es la declaración de la función bubbleSort, que
implementa el algoritmo de ordenación de burbuja. Toma como argumentos un
array de enteros arr[] y su tamaño n.
3. Dentro de bubbleSort, hay dos bucles for anidados. El bucle externo recorre todo el
array. El bucle interno compara cada elemento del array con el siguiente y los
intercambia si están en el orden incorrecto.
4. void printArray(int arr[], int size): Esta es la declaración de la función printArray, que
imprime los elementos de un array. Toma como argumentos un array de enteros
arr[] y su tamaño size.
5. Dentro de printArray, hay un bucle for que recorre todo el array e imprime cada
elemento.
6. int main(): Esta es la función principal donde comienza la ejecución del programa.
EJEMPLO:
3. Dentro de insertionSort, hay un bucle for que recorre todo el array desde el
segundo elemento hasta el último. Para cada elemento, se guarda en la variable
key y se compara con los elementos anteriores.
4. Si un elemento anterior es mayor que key, se mueve una posición hacia adelante.
Este proceso se repite hasta que se encuentra un elemento anterior que no es
mayor que key, o hasta que se han revisado todos los elementos anteriores.
5. void printArray(int arr[], int n): Esta es la declaración de la función printArray, que
imprime los elementos de un array. Toma como argumentos un array de enteros
arr[] y su tamaño n.
6. Dentro de printArray, hay un bucle for que recorre todo el array e imprime cada
elemento.
7. int main(): Esta es la función principal donde comienza la ejecución del programa.
4. Iteración : Continúanos iterando hasta que todos los elementos del vector estén
en orden.
2. void swap(int *xp, int *yp): Esta es la declaración de la función swap, que
intercambia los valores de dos variables. Toma como argumentos dos punteros a
enteros xp y yp.
5. Dentro de selectionSort, hay un bucle for que recorre todo el array desde el primer
elemento hasta el penúltimo. Para cada elemento, se asume que es el mínimo.
6. Luego, hay otro bucle for que recorre los elementos restantes del array. Si se
encuentra un elemento que es menor que el mínimo actual, se actualiza el mínimo.
7. Después de que todos los elementos restantes han sido revisados, se intercambia
el mínimo con el primer elemento no ordenado.
8. void printArray(int arr[], int size): Esta es la declaración de la función printArray, que
imprime los elementos de un array. Toma como argumentos un array de enteros
arr[] y su tamaño size.
9. Dentro de printArray, hay un bucle for que recorre todo el array e imprime cada
elemento.
10. int main(): Esta es la función principal donde comienza la ejecución del programa.
11. Dentro de main, se declara e inicializa un array de enteros arr[]. Luego, se calcula
el tamaño del array y se llama a la función selectionSort para ordenar el array.
Finalmente, se llama a la función printArray para imprimir el array ordenado.
Método de Búsqueda Simple: Este método consiste en comparar cada elemento del arreglo con
el valor buscado. Se utiliza cuando el arreglo está ordenado, es decir, cuando puede ser
evaluado en promedio el tiempo de ejecución. Para implementarlo, se comparan los elementos
uno a uno desde el principio hasta encontrar el elemento buscado12.
Para una implementación simple, se puede usar la función strcmp de C para comparar dos
elementos. Se pueden escribir las condiciones de comparación en una condicional if3. Sin
embargo, este método es menos eficiente que la búsqueda binaria, especialmente para arreglos
ordenados1.
Método de Búsqueda Binaria: Este método es mucho más eficiente que la búsqueda lineal y se
utiliza para arreglos ordenados. En lugar de comparar cada elemento con el valor buscado, lo
que se hace es comparar el valor buscado con la mitad de los elementos del arreglo1. Esto
reduce el espacio de búsqueda y hace que el tiempo de ejecución sea proporcional al logar de
la mitad del arreglo4.
Para implementar la búsqueda binaria, se puede usar el método bsearch de C. Este método
requiere el valor buscado y una función de comparación, que puede ser greater o less than14.
En este ejemplo, el método búsqueda Lineal recibe un arreglo arr, el tamaño del arreglo tam y el
elemento que se desea buscar elemento. Luego, se recorre el arreglo utilizando un bucle for y
se compara cada elemento con el elemento buscado. Si se encuentra el elemento, se retorna el
índice donde se encuentra en el arreglo. Si no se encuentra, se retorna -1.
En el main, se crea un arreglo de ejemplo arr, se calcula el tamaño del arreglo dividiendo el
tamaño total del arreglo entre el tamaño de un elemento. Luego, se llama a la función búsqueda
lineal pasando el arreglo, el tamaño y el elemento a buscar. Dependiendo del resultado de la
búsqueda, se imprime un mensaje indicando si se encontró o no el elemento y en qué índice se
encuentra.
Búsqueda Binaria
En este ejemplo, el método búsqueda Binaria recibe un arreglo arr, el tamaño del arreglo tam y
el elemento que se desea buscar elemento. Primero se inicializan las variables izquierda y
derecha que representan el rango de búsqueda dentro del arreglo. Luego se utiliza un bucle
while que se ejecuta mientras que izquierda sea menor o igual que derecha. En cada iteración
se calcula el medio del rango de búsqueda y se compara el valor del elemento en el índice
medio con el elemento buscado. Si son iguales, se retorna el índice medio. Si el elemento
buscado es mayor que el elemento en el índice medio, se actualiza el valor de izquierda para
buscar en la mitad derecha del rango de búsqueda. Si el elemento buscado es menor, se
actualiza el valor de derecha para buscar en la mitad izquierda del rango de búsqueda.
En el main, se crea un arreglo de ejemplo arr, se calcula el tamaño del arreglo dividiendo el
tamaño total del arreglo entre el tamaño de un elemento. Luego, se llama a la función búsqueda
Binaria pasando el arreglo, el tamaño y el elemento a buscar. Dependiendo del resultado de la
búsqueda, se imprime un mensaje indicando si se encontró o no el elemento y en qué índice se
encuentra.