SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-RRobert Rodriguez
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTODaniel Guaycha
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++compumet sac
 
Modelo de datos Banco
Modelo de datos BancoModelo de datos Banco
Modelo de datos Bancoatrivinho
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externoFernando Solis
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en JavaRonny Parra
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)Fuerza Auriazul
 
Trabajo final diseño y análisis de sistemas.docx1
Trabajo final diseño y análisis de sistemas.docx1Trabajo final diseño y análisis de sistemas.docx1
Trabajo final diseño y análisis de sistemas.docx1Juleysi China
 

Tendances (20)

Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-R
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Entidad Relación Banco
Entidad Relación BancoEntidad Relación Banco
Entidad Relación Banco
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Modelo de datos Banco
Modelo de datos BancoModelo de datos Banco
Modelo de datos Banco
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en Java
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
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
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Trabajo final diseño y análisis de sistemas.docx1
Trabajo final diseño y análisis de sistemas.docx1Trabajo final diseño y análisis de sistemas.docx1
Trabajo final diseño y análisis de sistemas.docx1
 

Similaire à Insercion directa

Similaire à 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
 

Dernier

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
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
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
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
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 

Dernier (20)

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
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
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
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
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
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
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
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
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 

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.