SlideShare a Scribd company logo
1 of 3
ESTRUCTURAS DE DATOS




                UNIDAD 6 METODOS DE ORDENACION INTERNA
Los métodos de ordenación se dividen en 2 categorías:

Ordenación Interna. Es aquella que se realiza totalmente en memoria principal, con gran velocidad y
acceso aleatorio.

Ordenación Externa. Es aquella cuyos datos están soportados por el almacenamiento o memoria
secundaria, esto hace que las operaciones de entrada y salida sean más lentas pero en cambio se
pueden manipular grandes volúmenes de información.

La ordenación interna considera diversos métodos entre los cuales se encuentran los métodos de
intercambio y los métodos de distribución.

Métodos de Intercambio
Entre los principales métodos de intercambio se encuentran los de Burbuja, QuickSort y Shell Sort.

Método de Burbuja

Este método se basa en el principio de comparar pares de elementos adyacentes e intercambiarlos
entre si hasta que se encuentren todos ordenados. El método básicamente consisten en:
            o Comparar los elementos de las posiciones 1 y 2 del arreglo y si no están en el orden
                requerido se intercambian sus valores.
            o Se comparan elementos de la posición 2 y 3 intercambiando si es necesario.
            o El proceso continúa hasta que el último elemento ha sido comparado.


Al terminar este proceso el último elemento ya ha sido ordenado por lo que se repita la etapa anterior
hasta el elemento n-1 y así sucesivamente.

Método QuickSort
Este método se basa en el hecho de que es más rápido y fácil de ordenar dos listas pequeñas que una
lista grande. Se usa la típica estrategia “Divide y vencerás”. La lista a clasificar se divide en dos
sablistas , una con todos los valores menores a un cierto valor específico y la otra con todos los valores
mayores a ese valor.

El primer paso es elegir dentro de la lista original un valor específico llamado pivote, y después de un
procedimiento que separe las listas se obtendrá:

   •   Una sublista con los valores menores o iguales al pivote.
   •   El elemento de separación que es el pivote.
   •   Una sublista con los valores mayores al pivote.


Este proceso se debe repetir hasta que ya no sea posible dividir una sublista en dos partes.

En general, el método es recomendable para las listas con un gran volumen de datos.




                                                                                                           1
ESTRUCTURAS DE DATOS

Método ShellSort
El primer algoritmo que mejoró de forma sustancial la ordenación por inserción fue ShellSort. El
algoritmo de ordenación ShellSort, fue desarrollado en 1959 por Donald Shell.

La idea de Shell fue evitar gran cantidad de movimientos de datos, sin embargo no ordena elementos
adyacentes sino que utiliza una segmentación entre los datos. Esta segmentación puede ser de
cualquier tamaño de acuerdo a una secuencia de valores que empiezan con un valor grande (pero
menor al tamaño total de la estructura) y van disminuyendo hasta llegar al '1', es decir compara
primero elementos que están muy separados , para después comparar elementos más cercanos, y así
sucesivamente reduciendo gradualmente al método de inserción.



Métodos de Distribución
Método Radix
Cualquier tipo de ordenación está basado en algún valor concreto denominado clave de ordenación.
Por ejemplo, un conjunto de nombres puede ordenarse de acuerdo al apellido. El método Radix
también conocido como “Ordenación Raíz”, en lugar de comparar los elementos según la clave de
ordenación se basa en la estructura de esa clave de ordenación. Una forma de implementar el método
es mediante la creación de colas separadas para cada valor posible de cada digito o caracter de la clave
de ordenación. El número de colas o el número de posibles valores se denomina raíz o base.

Por ejemplo, si se ordenaran cadenas de caracteres formados por caracteres alfabéticos en minúsculas,
la raíz seria 27 es decir el número de letras del alfabeto y en ese caso se tendría que utilizar 27 colas,
una para cada posible caracter.

Si se ordenan números decimales, de tres dígitos, entonces la raíz seria de 10 utilizando una cola para
cada uno de los dígitos del cero al nueve (0-9). La ordenación del método Radix hará 3 pasadas a
través del conjunto de valores, una para cada posición del dígito. En la primera pasada se considera el
número menos significativo, es decir las unidades, y se distribuyen en cada cola de acuerdo al dígito
correspondiente.

En la segunda pasada se considera el dígito de las decenas distribuyendo nuevamente en las colas
correspondientes, y en la tercera pasada se considera el dígito de las centenas. Cuando los números se
extraen por última vez de las colas estarán completamente ordenados.




                                                                                                          2
ESTRUCTURAS DE DATOS

       Ejemplo



       Lista original: 442,503, 312, 145,250, 341, 325, 102,420 143.

       1ra. Vuelta 250. 420, 341, 442,312, 102, 503, 143, 145,325

       2da. Vuelta 102. 503,312, 420,325 341 , 442, 143, 145, 250

       3ra. Vuelta 102, 143,145, 250,312, 325,341 420, 442, 503

 Cola
 del
digito             Unidades                        Decenas             Centenas

   0                      420     250                    503 102



   1                              341                          312     145   143   102



   2               102    312     442                    325 420             143   102



   3                      143     503                                  341   325   312



   4                                         145   143 442 341               442   420



   5                      325     145                          250                 503




                                                                                         3

More Related Content

Viewers also liked

Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividadrehoscript
 
39029313 libro-de-texto-para-la-materia-de-graficacion
39029313 libro-de-texto-para-la-materia-de-graficacion39029313 libro-de-texto-para-la-materia-de-graficacion
39029313 libro-de-texto-para-la-materia-de-graficacionYamil Hernandez Ortega
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasrehoscript
 
INTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORA
INTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORAINTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORA
INTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORArehoscript
 
Graficación por computadora
Graficación por computadoraGraficación por computadora
Graficación por computadoraDiaNa González
 
FUNDAMENTOS DE DIAGRAMACIÓN
FUNDAMENTOS DE DIAGRAMACIÓNFUNDAMENTOS DE DIAGRAMACIÓN
FUNDAMENTOS DE DIAGRAMACIÓNAle Altuve
 

Viewers also liked (7)

Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividad
 
39029313 libro-de-texto-para-la-materia-de-graficacion
39029313 libro-de-texto-para-la-materia-de-graficacion39029313 libro-de-texto-para-la-materia-de-graficacion
39029313 libro-de-texto-para-la-materia-de-graficacion
 
Graficos por Computadora (1)
Graficos por Computadora (1)Graficos por Computadora (1)
Graficos por Computadora (1)
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
INTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORA
INTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORAINTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORA
INTRODUCCIÓN A LA GRAFICACIÓN POR COMPUTADORA
 
Graficación por computadora
Graficación por computadoraGraficación por computadora
Graficación por computadora
 
FUNDAMENTOS DE DIAGRAMACIÓN
FUNDAMENTOS DE DIAGRAMACIÓNFUNDAMENTOS DE DIAGRAMACIÓN
FUNDAMENTOS DE DIAGRAMACIÓN
 

Similar to Unidad 6 ordenacion_interna

Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficiosejosue23
 
Recursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaRecursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaEuniceLeguiasGonzale
 
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
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenadaEdwin Chavarria
 
Informacion sobre la normalizacion
Informacion sobre la normalizacionInformacion sobre la normalizacion
Informacion sobre la normalizacionMichaelEspinozaBetan
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfjorgeulises3
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Fundamentos de normalizacion
Fundamentos de normalizacionFundamentos de normalizacion
Fundamentos de normalizacionvinceq
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividadjambslide
 
diapositivas-150217175042-conversion-gate02.pptx
diapositivas-150217175042-conversion-gate02.pptxdiapositivas-150217175042-conversion-gate02.pptx
diapositivas-150217175042-conversion-gate02.pptxJeanCorrCol
 

Similar to Unidad 6 ordenacion_interna (18)

Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficios
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
 
Analisissss
AnalisissssAnalisissss
Analisissss
 
Recursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaRecursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y Busqueda
 
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)
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenada
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
Normalización
NormalizaciónNormalización
Normalización
 
Infonorma
InfonormaInfonorma
Infonorma
 
Informacion sobre la normalizacion
Informacion sobre la normalizacionInformacion sobre la normalizacion
Informacion sobre la normalizacion
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Fundamentos de normalizacion
Fundamentos de normalizacionFundamentos de normalizacion
Fundamentos de normalizacion
 
Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividad
 
diapositivas-150217175042-conversion-gate02.pptx
diapositivas-150217175042-conversion-gate02.pptxdiapositivas-150217175042-conversion-gate02.pptx
diapositivas-150217175042-conversion-gate02.pptx
 

More from rehoscript

Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807rehoscript
 
Lenguajes Decidibles
Lenguajes DecidiblesLenguajes Decidibles
Lenguajes Decidiblesrehoscript
 
Programación
 Programación Programación
Programaciónrehoscript
 
Reseña y ensayo
Reseña y ensayoReseña y ensayo
Reseña y ensayorehoscript
 
Protocolo de investigacion
Protocolo de investigacionProtocolo de investigacion
Protocolo de investigacionrehoscript
 
Tipos de entrevista
Tipos de entrevistaTipos de entrevista
Tipos de entrevistarehoscript
 
Investigacion documental
Investigacion documentalInvestigacion documental
Investigacion documentalrehoscript
 
Maquinas Virtuales
Maquinas VirtualesMaquinas Virtuales
Maquinas Virtualesrehoscript
 
Arquitectura P2P
Arquitectura P2PArquitectura P2P
Arquitectura P2Prehoscript
 
Arquitectura dirigida a eventos
Arquitectura dirigida a eventosArquitectura dirigida a eventos
Arquitectura dirigida a eventosrehoscript
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositóriorehoscript
 
Arquitectura pipeline
Arquitectura pipelineArquitectura pipeline
Arquitectura pipelinerehoscript
 
Modelado de procesos de negocio
Modelado de procesos de negocioModelado de procesos de negocio
Modelado de procesos de negociorehoscript
 

More from rehoscript (14)

Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807
 
Lenguajes Decidibles
Lenguajes DecidiblesLenguajes Decidibles
Lenguajes Decidibles
 
Claselexico
ClaselexicoClaselexico
Claselexico
 
Programación
 Programación Programación
Programación
 
Reseña y ensayo
Reseña y ensayoReseña y ensayo
Reseña y ensayo
 
Protocolo de investigacion
Protocolo de investigacionProtocolo de investigacion
Protocolo de investigacion
 
Tipos de entrevista
Tipos de entrevistaTipos de entrevista
Tipos de entrevista
 
Investigacion documental
Investigacion documentalInvestigacion documental
Investigacion documental
 
Maquinas Virtuales
Maquinas VirtualesMaquinas Virtuales
Maquinas Virtuales
 
Arquitectura P2P
Arquitectura P2PArquitectura P2P
Arquitectura P2P
 
Arquitectura dirigida a eventos
Arquitectura dirigida a eventosArquitectura dirigida a eventos
Arquitectura dirigida a eventos
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Arquitectura pipeline
Arquitectura pipelineArquitectura pipeline
Arquitectura pipeline
 
Modelado de procesos de negocio
Modelado de procesos de negocioModelado de procesos de negocio
Modelado de procesos de negocio
 

Unidad 6 ordenacion_interna

  • 1. ESTRUCTURAS DE DATOS UNIDAD 6 METODOS DE ORDENACION INTERNA Los métodos de ordenación se dividen en 2 categorías: Ordenación Interna. Es aquella que se realiza totalmente en memoria principal, con gran velocidad y acceso aleatorio. Ordenación Externa. Es aquella cuyos datos están soportados por el almacenamiento o memoria secundaria, esto hace que las operaciones de entrada y salida sean más lentas pero en cambio se pueden manipular grandes volúmenes de información. La ordenación interna considera diversos métodos entre los cuales se encuentran los métodos de intercambio y los métodos de distribución. Métodos de Intercambio Entre los principales métodos de intercambio se encuentran los de Burbuja, QuickSort y Shell Sort. Método de Burbuja Este método se basa en el principio de comparar pares de elementos adyacentes e intercambiarlos entre si hasta que se encuentren todos ordenados. El método básicamente consisten en: o Comparar los elementos de las posiciones 1 y 2 del arreglo y si no están en el orden requerido se intercambian sus valores. o Se comparan elementos de la posición 2 y 3 intercambiando si es necesario. o El proceso continúa hasta que el último elemento ha sido comparado. Al terminar este proceso el último elemento ya ha sido ordenado por lo que se repita la etapa anterior hasta el elemento n-1 y así sucesivamente. Método QuickSort Este método se basa en el hecho de que es más rápido y fácil de ordenar dos listas pequeñas que una lista grande. Se usa la típica estrategia “Divide y vencerás”. La lista a clasificar se divide en dos sablistas , una con todos los valores menores a un cierto valor específico y la otra con todos los valores mayores a ese valor. El primer paso es elegir dentro de la lista original un valor específico llamado pivote, y después de un procedimiento que separe las listas se obtendrá: • Una sublista con los valores menores o iguales al pivote. • El elemento de separación que es el pivote. • Una sublista con los valores mayores al pivote. Este proceso se debe repetir hasta que ya no sea posible dividir una sublista en dos partes. En general, el método es recomendable para las listas con un gran volumen de datos. 1
  • 2. ESTRUCTURAS DE DATOS Método ShellSort El primer algoritmo que mejoró de forma sustancial la ordenación por inserción fue ShellSort. El algoritmo de ordenación ShellSort, fue desarrollado en 1959 por Donald Shell. La idea de Shell fue evitar gran cantidad de movimientos de datos, sin embargo no ordena elementos adyacentes sino que utiliza una segmentación entre los datos. Esta segmentación puede ser de cualquier tamaño de acuerdo a una secuencia de valores que empiezan con un valor grande (pero menor al tamaño total de la estructura) y van disminuyendo hasta llegar al '1', es decir compara primero elementos que están muy separados , para después comparar elementos más cercanos, y así sucesivamente reduciendo gradualmente al método de inserción. Métodos de Distribución Método Radix Cualquier tipo de ordenación está basado en algún valor concreto denominado clave de ordenación. Por ejemplo, un conjunto de nombres puede ordenarse de acuerdo al apellido. El método Radix también conocido como “Ordenación Raíz”, en lugar de comparar los elementos según la clave de ordenación se basa en la estructura de esa clave de ordenación. Una forma de implementar el método es mediante la creación de colas separadas para cada valor posible de cada digito o caracter de la clave de ordenación. El número de colas o el número de posibles valores se denomina raíz o base. Por ejemplo, si se ordenaran cadenas de caracteres formados por caracteres alfabéticos en minúsculas, la raíz seria 27 es decir el número de letras del alfabeto y en ese caso se tendría que utilizar 27 colas, una para cada posible caracter. Si se ordenan números decimales, de tres dígitos, entonces la raíz seria de 10 utilizando una cola para cada uno de los dígitos del cero al nueve (0-9). La ordenación del método Radix hará 3 pasadas a través del conjunto de valores, una para cada posición del dígito. En la primera pasada se considera el número menos significativo, es decir las unidades, y se distribuyen en cada cola de acuerdo al dígito correspondiente. En la segunda pasada se considera el dígito de las decenas distribuyendo nuevamente en las colas correspondientes, y en la tercera pasada se considera el dígito de las centenas. Cuando los números se extraen por última vez de las colas estarán completamente ordenados. 2
  • 3. ESTRUCTURAS DE DATOS Ejemplo Lista original: 442,503, 312, 145,250, 341, 325, 102,420 143. 1ra. Vuelta 250. 420, 341, 442,312, 102, 503, 143, 145,325 2da. Vuelta 102. 503,312, 420,325 341 , 442, 143, 145, 250 3ra. Vuelta 102, 143,145, 250,312, 325,341 420, 442, 503 Cola del digito Unidades Decenas Centenas 0 420 250 503 102 1 341 312 145 143 102 2 102 312 442 325 420 143 102 3 143 503 341 325 312 4 145 143 442 341 442 420 5 325 145 250 503 3