Inserción DirectaJ U A N PA B L O VA L E N Z U E L A AYA L A         ABEL PEREZ UREÑA
Introducción El propósito de la exposición es aprender como funciona el método de ordenamiento inserción directa. Empezar...
Descripción del método (como funciona) Los datos a clasificar son considerados uno a la  vez, cada elemento se inserta en...
Ejemplo Empezamos con los datos aleatoriamente ordenados, el primer dato lo  tomamos como la parte ordenada, el resto ser...
 Se compara con el primer numero de la parte ordenada.• Si el numero es menor se recorre el arreglo y  se inserta el nume...
Ventajas y aplicaciones   Fácil de Implementar   Eficiente en pocos datos   Eficiente en datos que ya tienen cierta ten...
Algoritmo y pseudocódigovoid InsercionDirecta (int arreglo[], int tam)                                                    ...
void InsercionDirecta (int a[], int tam){     int i, j, k,val=0,itera=0;                             Código implementado  ...
Bibliografía Hector Enrique Guerrero C.(2009).La culpa es del  Programmer. Donald Ervin K. (2002)Clasificación y búsqued...
Ventajas y aplicaciones          Créditos:                        Universidad Autónoma de Baja                            ...
Tomamos el primer número Inserción directa                              de la parte desordenada, en                       ...
Próxima SlideShare
Cargando en…5
×

Insercion directa

15.061 visualizaciones

Publicado el

Publicado en: Educación
1 comentario
2 recomendaciones
Estadísticas
Notas
Sin descargas
Visualizaciones
Visualizaciones totales
15.061
En SlideShare
0
De insertados
0
Número de insertados
113
Acciones
Compartido
0
Descargas
326
Comentarios
1
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

Insercion directa

  1. 1. Inserción DirectaJ U A N PA B L O VA L E N Z U E L A AYA L A ABEL PEREZ UREÑA
  2. 2. Introducción El propósito de la exposición es aprender como funciona el método de ordenamiento inserción directa. Empezaremos con una breve descripción del método, un ejemplo, ventajas, aplicaciones, el algoritmo y el código implementado.
  3. 3. Descripción del método (como funciona) Los datos a clasificar son considerados uno a la vez, cada elemento se inserta en la posición apropiada con respecto al resto de los valores ya ordenados. El Algoritmo de Inserción Directa por la Izquierda o derecha es un algoritmo de ordenamiento simple en el cual la lista se va ordenando con una entrada a la vez hacia la izquierda o derecha.
  4. 4. Ejemplo Empezamos con los datos aleatoriamente ordenados, el primer dato lo tomamos como la parte ordenada, el resto será la parte desordenada.• Tomamos el primer número de la parte desordenada, en este caso siempre es el segundo, la almacenamos en una variable temporal.
  5. 5.  Se compara con el primer numero de la parte ordenada.• Si el numero es menor se recorre el arreglo y se inserta el numero, si no fuera así se pone el numero al final de la parte ordenada
  6. 6. Ventajas y aplicaciones Fácil de Implementar Eficiente en pocos datos Eficiente en datos que ya tienen cierta tendencia al orden Más eficiente en la práctica que otros algoritmos de ordenamiento de tipo O(n2) porque su tiempo promedio es de n2/4 y es lineal en su mejor caso Estable (no cambia el orden relativo de los elementos iguales) Es un algoritmo "en línea" (puede ordenar elementos conforme los recibe). Aunque este algoritmo tiene un mejor orden de complejidad que el de burbuja, es muy ineficiente al compararlo con otros algoritmos como quicksort. Es el método mas sencillo de programar, no requiere espacio extra. El método de ordenación por inserción directa es el que generalmente utilizan los jugadores de cartas cuando ordenan éstas, de ahí que también se conozca con el nombre de método de la baraja.
  7. 7. Algoritmo y pseudocódigovoid InsercionDirecta (int arreglo[], int tam) insercion(A,Ndatos){ Inicio int i , j , valorBusqueda; Declarar i, k, aux: enteros for(i = 1; i < tam; i++) Para i =1 hasta Ndatos haga { Aux = A[i] valorBusqueda = a[i]; Para k =i-1Mientras Que ((k>=1) y for (j = i - 1; j >= 0 && a[j] > valorBusqueda; j-- (aux<A[k])) haga ) A[k+1] = A[k] { k = k -1 a[j + 1] = a[j]; Fin MQ } A[k+1] = aux Fin para a[j + 1] = valorBusqueda; Fin } val = a[i]; }
  8. 8. void InsercionDirecta (int a[], int tam){ int i, j, k,val=0,itera=0; Código implementado for(i = 1; i < tam; i++) { clrscr(); for(k=0;k<tam;k++) { printf(" %d",a[k]); } val = a[i]; itera++; printf(" Valor= %d n Iteracion=%d",val,itera); getch(); for (j = i - 1; j >= 0 && a[j] > val; j--) { a[j + 1] = a[j]; } a[j + 1] = val; } clrscr(); itera++; for(k=0;k<tam;k++) { printf(" %d",a[k]); } val = a[i]; printf(" Valor= %d n Iteracion=%d",val,itera); getch(); } void main() { int a[10]={9,6,4,3,8,10,7,2,5,1}; int tam=20; clrscr(); InsercionDirecta(a,tam); getch(); }
  9. 9. Bibliografía Hector Enrique Guerrero C.(2009).La culpa es del Programmer. Donald Ervin K. (2002)Clasificación y búsqueda . Reverte.
  10. 10. Ventajas y aplicaciones Créditos: Universidad Autónoma de Baja California• Fácil de Implementar • Pagina Web:• Eficiente en pocos datos, también en datos que ya tienen cierta tendencia al • http://algorit-prog.es.tl/ Algoritmos y Estructura de orden Datos• Estable (no cambia el • Equipo: orden relativo de los elementos iguales) • Juan Pablo Valenzuela Método de Inserción Directa• Es un algoritmo "en línea" (puede ordenar Ayala elementos conforme los • Abel Perez Ureña recibe).• Es el que generalmente utilizan los jugadores de cartas cuando ordenan Bibliografía éstas, de ahí que •Hector Enrique Guerrero también se conozca con el nombre de método de C.(2009).La culpa es del la baraja. Programmer. •Donald Ervin K.• El orden del método es (2002)Clasificación y cuadrático O(n2) búsqueda . Reverte.
  11. 11. Tomamos el primer número Inserción directa de la parte desordenada, en este caso siempre es el segundo, la almacenamos Código en C: en una variable temporal. Los datos a clasificar son Void insercionDirecta (int considerados uno a la arreglo[],int tam) vez, cada elemento se { inserta en la posición int i,j,val; apropiada con respecto Se compara con el for(i=1;i<tam;i++) al resto de los valores ya primer numero de la { ordenados. parte ordenada. val=a[i]; for(j=i-1;Ejemplo j>=0&& a[j]> val; j--) Empezamos con los { a[j+1]=a[j]; datos aleatoriamente } ordenados, el primer dato Si el numero es menor a[j+1]=val; lo tomamos como la parte } ordenada, el resto será la se recorre el arreglo y se inserta el numero, se val = a[i]; parte desordenada. repite el algoritmo hasta } quedar ordenado.

×