SlideShare uma empresa Scribd logo
1 de 11
Inserción Directa

J 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. Empezaremos con una breve descripción
 del método, un ejemplo, ventajas, aplicaciones, el
 algoritmo y el código implementado.
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.
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.
 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
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.
Algoritmo y pseudocódigo
void 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];
 }
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(); }
Bibliografía

 Hector Enrique Guerrero C.(2009).La culpa es del
  Programmer.
 Donald Ervin K. (2002)Clasificación y búsqueda .
  Reverte.
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.
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.

Mais conteúdo relacionado

Mais procurados

Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Presentación inserción directa y binaria
Presentación inserción directa y binariaPresentación inserción directa y binaria
Presentación inserción directa y binariaClaudia Tona Castro
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTODaniel Guaycha
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaJuan Navarro
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 

Mais procurados (20)

Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Presentación inserción directa y binaria
Presentación inserción directa y binariaPresentación inserción directa y binaria
Presentación inserción directa y binaria
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Colas
ColasColas
Colas
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shell
 
2.1.4 ShellSort.pptx
2.1.4 ShellSort.pptx2.1.4 ShellSort.pptx
2.1.4 ShellSort.pptx
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 

Semelhante a Insercion directa

Semelhante a Insercion directa (20)

Metodos de Ordenamiento Parte 1
Metodos de Ordenamiento Parte 1Metodos de Ordenamiento Parte 1
Metodos de Ordenamiento Parte 1
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Algoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busquedaAlgoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busqueda
 
jaisan
jaisanjaisan
jaisan
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
12 Arreglos
12 Arreglos12 Arreglos
12 Arreglos
 
Informe
InformeInforme
Informe
 
Inf 2316(proyecto)
Inf 2316(proyecto)Inf 2316(proyecto)
Inf 2316(proyecto)
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
 
Mpinning Gyalg12(Analg)
Mpinning Gyalg12(Analg)Mpinning Gyalg12(Analg)
Mpinning Gyalg12(Analg)
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezcla
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Estructuras
Estructuras Estructuras
Estructuras
 
Ordenamiento Simple
Ordenamiento SimpleOrdenamiento Simple
Ordenamiento Simple
 
B2 T5 Vectores Ii
B2 T5 Vectores IiB2 T5 Vectores Ii
B2 T5 Vectores Ii
 
Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
 

Último

30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 

Último (20)

30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 

Insercion directa

  • 1. Inserción Directa J U A N PA B L O VA L E N Z U E L A AYA L A ABEL PEREZ UREÑA
  • 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. 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. 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.  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. 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. Algoritmo y pseudocódigo void 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. 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. Bibliografía  Hector Enrique Guerrero C.(2009).La culpa es del Programmer.  Donald Ervin K. (2002)Clasificación y búsqueda . Reverte.
  • 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. 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.