Ordenamiento por inserción
Elordenamiento por inserción(insertion sorteninglés) es una manera muy natural de ordenar para un ser humano y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiereoperaciones para ordenar una lista deelementos.
Inicialmente, se tiene un solo elemento que, obviamente, es un conjunto ordenado. Después, cuando hayelementos ordenados de menor a mayor se toma el elementoy se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha) o cuando ya no se encuentran elementos (todos los elementos fueron desplazados y este es el más pequeño). En este punto seinsertael elementodebiendo desplazarse los demás elementos.
Pseudocódigo
[editar]INSERTION-SORT(A, n) 1 for i = 2 to n 2 key = A[i] 3 // Insert A[i] into the sorted subarray A[1: i - 1]. 4 j = i - 1 5 while j > 0 and A[j] > key 6 A[j + 1] = A[j] 7 j = j - 1 8 A[j + 1] = key
[1]
Complejidad temporal
[editar]En el mejor de los casos, el arreglo está inicialmente en orden, el algoritmo solo hace una pasada y entonces la complejidad es.[2] En el peor caso, con el arreglo ordenado con el criterio contrario, se obtiene una complejidad temporal cuadrática del orden de
Véase también
[editar]Referencias
[editar]- ↑Cormen, Thomas H.;Leiserson, Charles E.;Rivest, Ronald L.;Stein, Clifford(2022), «2.1 Insertion Sort»,Introduction to Algorithms(4th edición), MIT Press, p. 73,ISBN9780262046305..
- ↑Martínez Vidal, 2006,p. 304.
Bibliografía
[editar]Martínez Vidal (2006).Introducción al análisis de algoritmos.Consultado el 22 de junio de 2020.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2022).Introduction to Algorithms Fourth Edition.Consultado el 5 de noviembre de 2024.