ORDENAMIENTO Y BÚSQUEDA EN ARREGLOS

1 Corina Flores Villarroel Corina Flores, Centro MEMI ORDENAMIENTO Y BÚSQUEDA EN ARREGLOS ORDENAMIENTO EN ARREGLOS Y COLECCIONES   Corina Flo

1 downloads 88 Views 180KB Size

Recommend Stories


Operaciones matemáticas con arreglos
´ Operaciones matematicas con arreglos ´ ´ Curso: Metodos Numericos en Ingenier´ıa ´ Profesor: Dr. Jose´ A. Otero Hernandez Correo: [email protected]

PLANEACIÓN REGIONAL Y ORDENAMIENTO TERRITORIAL EN MÉXICO
IIEc-UNAM Primer Foro de Desarrollo Regional. “Hacia una agenda legislativa para la institucionalización de la planeación y la gestión regional del d

Story Transcript

1

Corina Flores Villarroel

Corina Flores, Centro MEMI

ORDENAMIENTO Y BÚSQUEDA EN ARREGLOS

ORDENAMIENTO EN ARREGLOS Y COLECCIONES 



Corina Flores, Centro MEMI



Una de las tareas más comunes a la hora de procesar datos es la clasificación u ordenación de los datos. Para lograr ordenarlos es necesario encontrar un método de ordenación que se adecúe a nuestras necesidades, y analizar el número de comparaciones que realizarían en los diferentes casos que encuentren.

En este análisis deberíamos estudiar si necesitamos orden ascendente o descendente o si los datos a ordenar van a ser numéricos o alfanuméricos.

2

ORDENAMIENTO EN ARREGLOS Y COLECCIONES Los métodos de ordenamiento pueden ser aplicados tanto a arreglos estáticos(Array) como a a colecciones (ArrayList).  El ordenamiento en arreglos estáticos es mucho más simple que en arreglos dinámicos.  Para ordenar una colección de objetos en base a alguna de sus propiedades tenemos que crear nuestro propio método.  Al ordenar una colección, se puede seleccionar si se desea ordenar por un solo campo de la colección, por dos o más. 

Corina Flores, Centro MEMI

3

ORDENAMIENTO EN ARREGLOS Y COLECCIONES 

Se puede ordenar en arreglos y colecciones … texto, números o datos: Corina Flores, Centro MEMI

En orden ascendente (de A a Z, de cero a 9 o desde la primera fecha a la más reciente)  En orden descendente (de Z a A, de 9 a cero o desde la fecha más reciente a la primera). 

4

MÉTODOS DE ORDENAMIENTO 

Se puede ordenar en arreglos y colecciones … texto, números o datos: Corina Flores, Centro MEMI

En orden ascendente (de A a Z, de cero a 9 o desde la primera fecha a la más reciente)  En orden descendente (de Z a A, de 9 a cero o desde la fecha más reciente a la primera). 

5

MÉTODOS DE ORDENAMIENTO 

Métodos simples Ordenación por Intercambio (Burbuja )

2.

Ordenación por Selección

3.

Ordenación por Inserción

4.

Ordenación por fusión o mezcla (Merge sort)

Corina Flores, Centro MEMI

1.

6

MÉTODO POR INTERCAMBIO (BURBUJA)  Compara

Corina Flores, Centro MEMI

pares de elementos adyacentes e intercambia entre sí hasta que esten todos ordenados. 1. Compara los dos primeros elementos. Si estan en orden se mantiene como están, en caso contrario, se intercambian entre sí. 2. El proceso continúa hasta que cada elemento de la lista ha sido comparado con sus elementos adyacentyes y se han realizado los intercambios necesario. Al acabar esta operación sobre la serie tendríamos un valor colocado en su posición final. 3. Ahora se repetiría el proceso sobre la lista pero sin incluir el último elemento, pues ya está ordenado.

7

MÉTODO DE BURBUJA

Corina Flores, Centro MEMI

void burbuja( int [] lista) { int aux, longitud; longitud = lista.length; for( int i=0; i < longitud; i++ ){ for( int j=0; j < (longitud-1-i); j++){ if( lista[j] > lista[j+1] ){ aux = lista[j]; lista[j] = lista[j+1] ); lista[j+1] = aux; } } } } Ordena en orden Ascenden 8

MÉTODO POR SELECCION  Selecciona

Corina Flores, Centro MEMI

elementos uno a uno de la lista y los coloca en su posicion definitiva. 1. Seleccionamos el elemento menor de la lista y colocamos en su posicion, intercambiando con el valor existente alli. Entonces, el primer elemento ya esta ordenado y ocupando su posicion respectiva. 2. Seleccionamos como nueva lista la sublista obtenida eliminando el primer elemento. 3. Volvemos al paso 1 para ordenar la sublista. 9

MÉTODO DE SELECCION

Corina Flores, Centro MEMI

void seleccion( int [] lista) { int aux, indice_min, n; n = lista.length; for( int j=0; j < n; j++ ){ indice_min=j; for ( int i=j+1; i

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.