






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Tipo: Ejercicios
1 / 10
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







Matrícula Estudiante Programa Educativo 1995863 Adrián Alejandro Tovar Escamilla ITS Día 11 del mes de noviembre del año 2022 , Guadalupe, Nuevo León
Ordenar y buscar es uno de los temas más vitales en DSA. Almacenar y recuperar información es una de las aplicaciones más comunes de las computadoras hoy en día. Con el tiempo, la cantidad de datos e información almacenados y accedidos a través de la computadora se ha convertido en enormes bases de datos. Se han desarrollado muchas técnicas y algoritmos para mantener y procesar de manera eficiente la información en las bases de datos. El proceso de buscar un registro de datos en particular en la base de datos se denomina searching (búsqueda). El proceso de ordenar los registros en una base de datos se denomina sorting (ordenar). Ordenar y buscar juntos constituyen un área importante de estudio en métodos computacionales. Ambos son un campo de estudio muy importante en estructura de datos y algoritmos. Con mucha frecuencia los programadores trabajan con grandes cantidades de datos almacenados en arreglos y registros, y por ello será necesario determinar si un arreglo contiene un valor que coincida con un cierto valor clave. Una colección de datos (estructura) puede ser almacenada en un archivo, un array (vector o matriz), una lista enlazada o un árbol. Cuando los datos están almacenados en un array, una lista enlazada o un árbol, se denomina ordenación interna. Si los datos están almacenados en un archivo, el proceso de ordenación se llama ordenación externa.
Paso 8: Salir Algoritmo de búsqueda binaria: El algoritmo de búsqueda binaria es rápido según la complejidad del tiempo de ejecución. Este algoritmo funciona sobre la base de la regla divide y vencerás. En este algoritmo, primero tenemos que ordenar la recopilación de datos en orden ascendente y luego buscar el elemento objetivo comparando el elemento más central de la colección. Si se encuentra una coincidencia, se devuelve el índice del elemento. Si el elemento del medio es mayor que el elemento de destino, el elemento se busca en la submatriz a la izquierda del elemento del medio. De lo contrario, el elemento se busca en el subconjunto a la derecha del elemento central. Este proceso también continúa en el subconjunto hasta que el tamaño del subconjunto se reduce a cero. Algoritmo: Paso 1: La lista de datos debe estar ordenada en orden ascendente. Paso 2: sondear el medio de la lista Paso 3: si el objetivo es igual a list[mid], FOUND. Paso 4: si el objetivo < lista[medio], descarta la mitad de la lista entre lista[medio] y lista[último]. Paso 5: Si el objetivo > lista[medio], descarta la mitad de la lista entre lista[primero] y lista[medio]. Paso 6: continúe buscando en la lista abreviada hasta que se encuentre el objetivo o no haya elementos para sondear. ¿Qué es ordenar? Ordenar es el proceso de colocar elementos de una colección en algún tipo de orden. Por ejemplo, una lista de palabras podría ordenarse alfabéticamente o por longitud. La clasificación eficiente es importante para optimizar el uso de otros algoritmos que requieren listas ordenadas para funcionar correctamente. Importancia de clasificar:
Paso 2: elige el siguiente elemento Paso 3: Comparar con todos los elementos de la sublista ordenada Paso 4: Desplace todos los elementos de la sublista ordenada que sea mayor que el valor que se va a ordenar Paso 5: Inserta el valor Paso 6: Repita hasta que la lista esté ordenada Ejemplo de búsqueda lineal Tomemos un ejemplo de una matriz A[7]={5,2,1,6,3,7,8}. La matriz A tiene 7 elementos. Supongamos que estamos buscando 7 en la matriz. Elemento objetivo = 7. Aquí tenemos A[7]={5,2,1,6,3,7,8} X= Al principio, cuando i=0 (A[0]=5; X=7) no coincide i++ ahora, i=1 (A[1]=2; X=7) no coincide i++ ahora, i=2(A[2])=1; X=7) no coincide … …. i++ cuando, i=5(A[5]=7; X=7) Coincidencia encontrada Por lo tanto, Elemento X=7 encontrado en el índice 5. La búsqueda lineal rara vez se usa en la práctica. La complejidad temporal del algoritmo anterior es O(n). int linearSearch(int valores[], int target, int n) { para(int i = 0; i < n; i++) { if (valores[i] == objetivo) { devolver yo;
devolver - 1; } Ejemplo de Ordenamiento de burbuja Supongamos que tenemos una lista de arreglos de 5 elementos A[5]={40,50,30,20,10}. Tenemos que ordenar esta matriz usando el algoritmo de clasificación de burbujas. Observamos en el algoritmo que Bubble Sort compara cada par de elementos de matriz a menos que toda la matriz esté completamente ordenada en orden ascendente. Después de cada iteración, los valores más altos se establecen al final de la matriz. Por lo tanto, la siguiente iteración no necesita incluir elementos ya ordenados. void bubbleSort(int arr[], int n) { int i, j, temporal; para(i = 0; i < n; i++) { para(j = 0; j < ni-1; j++) { si (arr[j] > arr[j+1]) { // intercambiar los elementos temperatura = arreglo[j]; matriz[j] = matriz[j+1]; matriz[j+1] = temporal; } }
ALGORITMOS DE BUSQUEDA Y ORDENAMIENTO. (2013, 9 diciembre). Diseño y análisis de algoritmos. https://jorgeantilefblog.wordpress.com/algoritmos-de-busqueda-y- ordenamiento/ Colaboradores de Wikipedia. (2022e, octubre 6). Algoritmo de ordenamiento. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento Colaboradores de Wikipedia. (2022h, noviembre 7). Algoritmo de búsqueda. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/Algoritmo_de_b%C3%BAsqueda Algoritmos de ordenación y búsqueda - Estructuras de Datos en Java. (s. f.). https://sites.google.com/a/espe.edu.ec/programacion-ii/home/a1- arreglos/algoritmos-de-ordenacion-y-busqueda Singh, A. (2022, 7 junio). Sorting and Searching | Data Structure & Algorithms. Tech Blog. https://msatechnosoft.in/blog/searching-sorting-data-structure- algorithms/