SlideShare una empresa de Scribd logo
1 de 12
Estructura de datos
“ALGOritmo DE ordenamiento por inserción”
Aneth ponzón
MaRta bolaño suárez
aLgOritmo DE ordenamiento por inserción
El ordenamiento por inserción (insertion sort) es
una manera muy natural de ordenar para un ser
humano, es similar como si estuviéramos ordenando
un mazo de cartas numeradas en forma arbitraria.
Donde las operaciones se ordenan en una lista de n
elementos.
Inicialmente se tiene un solo elemento, que obviamente
es un conjunto ordenado. Después, cuando hay
k elementos ordenados de menor a mayor, se
toma el elemento k+1 y 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 se inserta el elemento k+1 debiendo
desplazarse los demás elementos
Pseudocódigo en C
Tabla de variables
ejemplo
¿Te acuerdas de nuestra famosa lista?
4 - 3 - 5 - 2 - 1
temp toma el valor del segundo elemento, 3. La
primera carta es el 4. Ahora comparamos: 3 es menor
que 4. Luego desplazamos el 4 una posición a la
derecha y después copiamos el 3 en su lugar.
4 - 4 - 5 - 2 - 1
3 - 4 - 5 - 2 - 1
El siguiente elemento es 5. Comparamos con 4. Es mayor
que 4, así que no ocurren intercambios.
Continuamos con el 2. Es menor que cinco:
desplazamos el 5 una posición a la derecha:
3 - 4 - 5 - 5 – 1
Comparamos con 3. Desplazamos el 3 una posición a la
derecha:
3 - 3 - 4 - 5 - 1
Finalmente copiamos el 2 en su posición final:
2 - 3 - 4 - 5 - 1
El último elemento a ordenar es el 1. Cinco es menor que 1, así
que lo desplazamos una posición a la derecha:
2 - 3 - 4 - 5 - 5
Continuando con el procedimiento la lista va quedando así:
2 - 3 - 4 - 4 - 5
2 - 3 - 3 - 4 - 5
2 - 2 - 3 - 4 - 5
1 - 2 - 3 - 4 - 5
Espero que te haya quedado claro.
ALGORITMO
Ejercicio EJECUTABLE
#include <iostream>
#include <stdio.h>
using namespace std;
void Insercion(int lista[], int tam) {
int i, j, temp;
for (i=1; i < tam; i++) {
temp = lista[i];
j = i-1;
while (j >= 0 && lista[j] > temp) {
lista[j + 1] = lista[j];
j--;
}
lista[j+1] = temp;
}
}
 void leer(int longitud, int r[]){

 for(int i = 0; i < longitud; i++) {
 cout<<"n Elemento "<<i<<": ";
 cin>>r[i];

 }
 }
 void imprimir(int longitud, int r[]){

 for(int i = 0; i < longitud; i++) {
 cout<<"t"<<r[i];

 }
 }
 int main(){


 int dim, vec[' '];
 cout << "Ingresa la dimension del vector: ";
 cin >> dim;

 cout << "Ingrese los elementos del vector: n";

 leer(dim,vec);

 cout << "El vector ordenado es: n";
 Insercion(vec, dim);

 imprimir(dim,vec);


 return 0;
 }
estructura de estructura de datos

Más contenido relacionado

Similar a estructura de estructura de datos

Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamientolichic
 
Algoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busquedaAlgoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busquedaCesar Gonzalez
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaMaiky Kobatakane
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosK Manuel TN
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva LuisFeSilva
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++compumet sac
 
Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)Linio Colquehuanca Rodrigo
 
Metodo_de_Burbuja.pptx
Metodo_de_Burbuja.pptxMetodo_de_Burbuja.pptx
Metodo_de_Burbuja.pptxAULATICSomoto
 
metodosdeordenamiento.pptx
metodosdeordenamiento.pptxmetodosdeordenamiento.pptx
metodosdeordenamiento.pptxLeydiCardona3
 
Arrays metodos deordenamiento01
Arrays metodos deordenamiento01Arrays metodos deordenamiento01
Arrays metodos deordenamiento01Alma Lopez
 

Similar a estructura de estructura de datos (20)

Ordenamiento Simple
Ordenamiento SimpleOrdenamiento Simple
Ordenamiento Simple
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Algoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busquedaAlgoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busqueda
 
Presentacion
PresentacionPresentacion
Presentacion
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
Ordenamiento
OrdenamientoOrdenamiento
Ordenamiento
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Gilmora
GilmoraGilmora
Gilmora
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)
 
Ordenamiento
OrdenamientoOrdenamiento
Ordenamiento
 
Metodo_de_Burbuja.pptx
Metodo_de_Burbuja.pptxMetodo_de_Burbuja.pptx
Metodo_de_Burbuja.pptx
 
Algoritmo de quicksort
Algoritmo de quicksortAlgoritmo de quicksort
Algoritmo de quicksort
 
metodosdeordenamiento.pptx
metodosdeordenamiento.pptxmetodosdeordenamiento.pptx
metodosdeordenamiento.pptx
 
Arrays metodos deordenamiento01
Arrays metodos deordenamiento01Arrays metodos deordenamiento01
Arrays metodos deordenamiento01
 

estructura de estructura de datos

  • 1. Estructura de datos “ALGOritmo DE ordenamiento por inserción” Aneth ponzón MaRta bolaño suárez
  • 2. aLgOritmo DE ordenamiento por inserción El ordenamiento por inserción (insertion sort) es una manera muy natural de ordenar para un ser humano, es similar como si estuviéramos ordenando un mazo de cartas numeradas en forma arbitraria. Donde las operaciones se ordenan en una lista de n elementos.
  • 3. Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y 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 se inserta el elemento k+1 debiendo desplazarse los demás elementos
  • 5. ejemplo ¿Te acuerdas de nuestra famosa lista? 4 - 3 - 5 - 2 - 1 temp toma el valor del segundo elemento, 3. La primera carta es el 4. Ahora comparamos: 3 es menor que 4. Luego desplazamos el 4 una posición a la derecha y después copiamos el 3 en su lugar. 4 - 4 - 5 - 2 - 1 3 - 4 - 5 - 2 - 1
  • 6. El siguiente elemento es 5. Comparamos con 4. Es mayor que 4, así que no ocurren intercambios. Continuamos con el 2. Es menor que cinco: desplazamos el 5 una posición a la derecha: 3 - 4 - 5 - 5 – 1 Comparamos con 3. Desplazamos el 3 una posición a la derecha: 3 - 3 - 4 - 5 - 1
  • 7. Finalmente copiamos el 2 en su posición final: 2 - 3 - 4 - 5 - 1 El último elemento a ordenar es el 1. Cinco es menor que 1, así que lo desplazamos una posición a la derecha: 2 - 3 - 4 - 5 - 5 Continuando con el procedimiento la lista va quedando así: 2 - 3 - 4 - 4 - 5 2 - 3 - 3 - 4 - 5 2 - 2 - 3 - 4 - 5 1 - 2 - 3 - 4 - 5 Espero que te haya quedado claro.
  • 9. Ejercicio EJECUTABLE #include <iostream> #include <stdio.h> using namespace std; void Insercion(int lista[], int tam) { int i, j, temp; for (i=1; i < tam; i++) { temp = lista[i]; j = i-1; while (j >= 0 && lista[j] > temp) { lista[j + 1] = lista[j]; j--; } lista[j+1] = temp; } }
  • 10.  void leer(int longitud, int r[]){   for(int i = 0; i < longitud; i++) {  cout<<"n Elemento "<<i<<": ";  cin>>r[i];   }  }  void imprimir(int longitud, int r[]){   for(int i = 0; i < longitud; i++) {  cout<<"t"<<r[i];   }  }
  • 11.  int main(){    int dim, vec[' '];  cout << "Ingresa la dimension del vector: ";  cin >> dim;   cout << "Ingrese los elementos del vector: n";   leer(dim,vec);   cout << "El vector ordenado es: n";  Insercion(vec, dim);   imprimir(dim,vec);    return 0;  }