







































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
Este documento contiene una implementación de varios algoritmos de ordenación, como bubble sort, selection sort y binary search, además de un análisis de cómo funcionan y cuál es el mejor caso de uso de cada uno. Se incluyen ejemplos de listas no ordenadas, ordenadas y aleatorias, y se analiza cuál trabaja mejor en cada caso.
Tipo: Apuntes
1 / 47
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!








































Facultad de Informática Universidad Complutense Fundamentos de la programación Luis Hernández Yáñez Fundamentos de la programación: Algoritmos de ordenación
Luis Hernández Yáñez Fundamentos de la programación: Algoritmos de ordenación Página 651 Luis Hernández Yáñez Ordenación de listas Mostrar los datos en orden, facilitar las búsquedas, ... Variadas formas de hacerlo (algoritmos)
Luis Hernández Yáñez 6 1 3 8 2 9 Algoritmo de ordenación por inserción Partimos de una lista vacía Vamos insertando cada elemento en el lugar que le corresponda Baraja de nueve cartas numeradas del 1 al 9 Las cartas están desordenadas Ordenaremos de menor a mayor (ascendente) Fundamentos de la programación: Algoritmos de ordenación Página 655 4 7 5 Luis Hernández Yáñez Algoritmo de ordenación por inserción 6 1 3 8 2 9 4 7 5
5 Colocamos el primer elemento en la lista vacíaColocamos el primer elemento en la lista vacía
Luis Hernández Yáñez Algoritmo de ordenación por inserción Fundamentos de la programación: Algoritmos de ordenación Página 657 6 1 3 8 2 9 4 7 5 7 El 7 es mayor que todos los elementos de la lista Lo insertamos al final
Luis Hernández Yáñez Algoritmo de ordenación por inserción Primer elemento (5) mayor que el nuevo (4): Desplazamos todos una posición a la derecha Insertamos el nuevo en la primera posición 6 1 3 8 2 9 4 54 75 7
Luis Hernández Yáñez Algoritmo de ordenación por inserción Fundamentos de la programación: Algoritmos de ordenación Página 661 6 1 3 8 42 4 5 7 98 9 El 9 es el primer elemento mayor que el nuevo (8): Desplazamos desde ese hacia la derecha Insertamos donde estaba el 9
Luis Hernández Yáñez 8 Algoritmo de ordenación por inserción 6 1 3 42 43 54 75 7 98 9
Segundo elemento (4) mayor que el nuevo (3): Desplazamos desde ese hacia la derecha Insertamos donde estaba el 4
Luis Hernández Yáñez 2 3 Algoritmo de ordenación por inserción Fundamentos de la programación: Algoritmos de ordenación Página 663 6 1 1 2 43 54 75 87 98 9
Primer elemento (2) mayor que el nuevo (1): Desplazamos todos una posición a la derecha Insertamos el nuevo en la primera posición Luis Hernández Yáñez Algoritmo de ordenación por inserción 6 1 2 3 4 5 76 87 98 9 ¡¡¡ LISTA ORDENADA !!!¡¡¡ LISTA ORDENADA !!!
El 7 es el primer elemento mayor que el nuevo (6): Desplazamos desde ese hacia la derecha Insertamos donde estaba el 7
Luis Hernández Yáñez Ordenación de arrays por inserción
... Desplazar a la derecha los ordenados desde ese lugar Insertar el nuevo en la posición que queda libre Fundamentos de la programación: Algoritmos de ordenación Página 667
Luis Hernández Yáñez Implementación
Luis Hernández Yáñez Fundamentos de la programación: Algoritmos de ordenación Página 669
Luis Hernández Yáñez
Luis Hernández Yáñez La inserción de cada elemento se puede realizar con comparaciones e intercambios Desde el segundo elemento hasta el último: Desde la posición del nuevo elemento a insertar: Mientras el anterior sea mayor, intercambiar Fundamentos de la programación: Algoritmos de ordenación Página 673
Luis Hernández Yáñez
Luis Hernández Yáñez
Fundamentos de la programación: Algoritmos de ordenación Página 675
Luis Hernández Yáñez
Luis Hernández Yáñez Consideración de implementación ¿Operador relacional adecuado? lista[pos ‐ 1] ¿ > o >=? lista[pos] Con >= se realizan intercambios inútiles: Fundamentos de la programación: Algoritmos de ordenación Página 679
Luis Hernández Yáñez
Luis Hernández Yáñez Claves de ordenación Elementos que son estructuras con varios campos:
Clave de ordenación: Campo en el que se basan las comparaciones Fundamentos de la programación: Algoritmos de ordenación Página 681 Luis Hernández Yáñez Claves de ordenación
Comparación: campo concreto Intercambio: elementos completos
Luis Hernández Yáñez
Fundamentos de la programación: Algoritmos de ordenación Página 685 Luis Hernández Yáñez
Luis Hernández Yáñez
Fundamentos de la programación: Algoritmos de ordenación Página 687
Luis Hernández Yáñez