SlideShare una empresa de Scribd logo
1 de 30
METODOS DE ORDENAMIENTO
Presentado por:
JAVIER MUNEVAR
FABIAN SOLER
REALES MYLES
METODO DE BURBUJA
 La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de
ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada
con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es
necesario revisar varias veces toda la lista hasta que no se necesiten más
intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su
nombre de la forma con la que suben por la lista los elementos durante los
intercambios, como si fueran pequeñas "burbujas". También es conocido como el
método del intercambio directo. Dado que solo usa comparaciones para operar
elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de
implementar.
PSEUDOCODIGO METODO BURBUJA
CODIGO JAVA METODO BURBUJA
 public static void burbuja(int [] A){
int i, j, aux;
for(i=0;i<A.length-1;i++)
for(j=0;j<A.length-i-1;j++)
if(A[j+1]<A[j]){
aux=A[j+1];
A[j+1]=A[j];
A[j]=aux;
}
}
DIAGRAMA DE FLUJO
ORDENAMIENTO BURBUJA
METODO SHELL
 El ordenamiento Shell (Shell sort en inglés) es un algoritmo de ordenamiento. El
método se denomina Shell en honor de su inventor Donald Shell.
 El algoritmo Shell sort mejora el ordenamiento por inserción comparando
elementos separados por un espacio de varias posiciones. Esto permite que un
elemento haga "pasos más grandes" hacia su posición esperada. Los pasos
múltiples sobre los datos se hacen con tamaños de espacio cada vez más
pequeños. El último paso del Shell sort es un simple ordenamiento por inserción,
pero para entonces, ya está garantizado que los datos del vector están casi
ordenados.
PSEUDOCO DIGO METODO SHELL
ALGORITMO SHELL
INICIO
ENTERO INTERVALO, K, J, I, AUX
INTERVALO ß N DIV 2
MIENTRAS(INTERVALO > 0){
PARA(I ß INTERVALO – 1, HASTA ß N, I ß I + 1){
J ß I - INTERVALO
MIENTRAS(J >= 0){
K ß J + INTERVALO
SI(VECTOR[K] <= VECTOR[J]){
AUX ß VECTOR[J]
VECTOR[J] ß VECTOR[K]
VECTOR[K] ß AUX
}SI NO{
J ß 0
}
J ß J - INTERVALO
}
}
INTERVALO ß INTERVALO DIV 2
}
}
public static void shell(int A[]){
int salto, aux, i;
boolean cambios;
for(salto=A.length/2; salto!=0; salto/=2){
cambios=true;
while(cambios){ // Mientras se intercambie algún elemento
cambios=false;
for(i=salto; i< A.length; i++) // se da una pasada
if(A[i-salto]>A[i]){ // y si están desordenados
aux=A[i]; // se reordenan
A[i]=A[i-salto];
A[i-salto]=aux;
cambios=true; // y se marca como cambio.
}
}
}
ORDENAMIENTO SHELL EN JAVA
QUICK SORT
 El ordenamiento rápido (quicksort en inglés) es un algoritmo creado por el
científico británico en computación C. A. R. Hoare, basado en la técnica de divide y
vencerás, que permite, en promedio, ordenar n elementos en un tiempo
proporcional a n log n.
PSEUDOCODIGO ORDENAMIENTO QUICK SORT
inicio
variables A: arreglo[1..100] entero
variables i,j,central:entero
variables primero, ultimo: entero
para i = 1 hasta 100
leer(A[i])
Fin para
primero = 1
ultimo = 100
qsort(A[],100)
Fin
DIAGRAMA DE FLUJO
ORDENAMIENTO
QUICK SORT
public static void quicksort(int A[], int izq, int der) {
int pivote=A[izq]; // tomamos primer elemento como pivote
int i=izq; // i realiza la búsqueda de izquierda a derecha
int j=der; // j realiza la búsqueda de derecha a izquierda
int aux;
while(i<j){ // mientras no se crucen las búsquedas
while(A[i]<=pivote && i<j) i++; // busca elemento mayor que pivote
while(A[j]>pivote) j--; // busca elemento menor que pivote
ORDENAMIENTO QUICK SORT EN JAVA
if (i<j) { // si no se han cruzado
aux= A[i]; // los intercambia
A[i]=A[j];
A[j]=aux;
}
}
A[izq]=A[j]; // se coloca el pivote en su lugar de forma que tendremos
A[j]=pivote; // los menores a su izquierda y los mayores a su derecha
if(izq<j-1)
quicksort(A,izq,j-1); // ordenamos subarray izquierdo
if(j+1 <der)
quicksort(A,j+1,der); // ordenamos subarray derecho
}
ORDENAMIENTO QUICK SORT EN JAVA
ORDENAMIENTO POR SELECCIÓN
 El algoritmo de ordenación por el método de selección directa es un algoritmo que
se basa en realizar varias pasadas, intentando encontrar en cada una de ellas el
elemento que según el criterio de ordenación es mínimo y colocándolo
posteriormente en su sitio.
 Realiza una enorme cantidad de comparaciones, pero en contrapartida, muy pocos
intercambios. Eso hace que su utilización se restrinja en general a dos situaciones:
o bien necesitamos un algoritmo sencillito para ordenar unos pocos datos y
cogemos éste mismo que no está mal y es facil de recordar, o bien tenemos una
situación en la cual escribir en el array es mucho más gravoso que leer, como
puede ser un escenario en el que intervengan determinados dispositivos de
almacenamiento o memorias tipo flash, eeprom, etc. para el soporte de los datos.
ORDENAMIENTO POR SELECCIÓN
Explicación:
Su funcionamiento es el siguiente:
Buscar el mínimo o máximo elemento de la lista
Intercambiarlo con el primero
Buscar el mínimo o el máximo en el resto de la lista
Intercambiarlo con el segundo
Y en general:
Buscar el mínimo o máximo elemento entre una posición i y el final de la lista
Intercambiar el mínimo o máximo con el elemento de la posición i.
METODOS DE BUSQUEDA
Un algoritmo de búsqueda es aquel que está
diseñado para localizar un elemento con ciertas
propiedades dentro de una estructura de datos; por
ejemplo, ubicar el registro correspondiente a cierta
persona en una base de datos, o el mejor
movimiento en una partida de ajedrez.
BUSQUEDA SECUENCIAL
 Este método se usa para buscar un elemento de un vector, es explorar
secuencialmente el vector, es decir; recorrer el vector desde el prior elemento hasta
el último. Si se encuentra el elemento buscado se debe visualizar un mensaje
similar a “Fin de Búsqueda” o “Elemento encontrado” y otro que diga “posición=”
en caso contrario, visualizar un mensaje similar a “Elemento no existe en la Lista”.
 Este tipo de búsqueda compara cada elemento del vector con el valor a encontrar
hasta que este se consiga o se termine de leer el vector completo.
PSEUDOCODIGO DE BUSQUEDA SECUENCIAL
V es vector de elementos de dimensión N
K es elemento
para i <- 1 hasta N repite:
si V[i]=K entonces
salida <- "Encontrado"
fin fsi
Fin para
salida <- "No se ha encontrado el elemento"
BUSQUEDA SECUENCIAL EN JAVA
public int busquedaSecuencial(int []arreglo,int dato){
int posicion = -1;
for(int i = 0; i < arreglo.length; i++){ //recorremos todo el arreglo
if(arreglo[i] == dato){ //comparamos el elemento en el arreglo con el buscado
posicion = i; //Si es verdadero guardamos la posicion
break; //Para el ciclo
}
}
return posicion;
}
BUSQUEDA BINARIA
 Es un método que se basa en la división sucesiva del espacio ocupado por
el vector en sucesivas mitades, hasta encontrar el elemento buscado.
 Esta búsqueda utiliza un método de “divide y vencerás” para localizar el
valor deseado. Con este método se examina primero el elemento central
de la lista; si este es el elemento buscado entonces la búsqueda ha
terminado. En caso contrario se determina si el elemento buscado está en
la primera o segunda mitad de la lista y a continuación se repite el
proceso anterior, utilizando el elemento central de esta sublista. Este tipo
de búsqueda se utiliza en vectores ordenados.
PSEUDOCODIO BUSQUEDA BIANRIA
Función « Main »
Inicio
Constante VERDAD = 1
Constante FALSO = 0
Constante TAM = 50
Constante MAX = 100
Variables A [TAM], b, i. = Enteros.
Para i 0 hasta i < TAM hacer
A [ i ] = (rand() % MAX) + 1
Mostrar A [ i ].
Fin para
Llamar procedimiento burbuja (A, TAM)
Función « Main » Para i <- 0 hasta i < TAM hacer
Mostrar A[ i ].
Fin para.
Imprimir “Elemento que se desea buscar: “.
Leer b.
Si (! Función búsqueda (A, b, 0, TAM – 1) entonces
Mostrar “Elemento no localizado”.
Fin si
Fin
PSEUDOCODIO BUSQUEDA BIANRIA
Procedimiento « Burbuja »
Procedimiento burbuja (*A, n)
Variables temp, i, j = enteros
Para i 0 hasta i < n hacer
Para j 0 hasta j < n hacer
Si A[ j ] > A [ j + 1 ] entonces
temp = A [ j ]
A [ j ] = A [ j +1 ]
A [ j + 1 ] = temp
Fin si
Fin para
Fin para
Fin Procedimiento burbuja.
PSEUDOCODIO BUSQUEDA BIANRIA
Función « Búsqueda »
Función búsqueda (*A, b, inicial, final)
Variables m = (inicial + final) / 2 = entero
Si (A [ m ] == b) entonces
Mostrar “Elemento encontrado: “, b
Devolver VERDAD.
Sino si (inicial == final) entonces
Devolver FALSO
Sino si (A [ m ] < b) entonces
Devolver Función Búsqueda (*A, b, m + 1, final)
Sino si (A [ m ] > b) entonces
Devolver Función Búsqueda (*A, b, inicial, m - 1)
Fin si
Fin Función búsqueda.
PSEUDOCODIO BUSQUEDA BIANRIA
DIAGRAMA DE FLUJO
BUSQUEDA BIANARIA
BUSQUEDA BINARIA EN JAVA
class BusquedaBinaria{
/** * Busca un valor numerico dentro de un arreglo numerico...
* previamente ordenado usando el metodo de busqueda binaria *
public static int busquedaBinaria(int vector[], int dato){
int n = vector.length;
int centro,inf=0,sup=n-1;
while(inf<=sup){
centro=(sup+inf)/2;
if(vector[centro]==dato){
return centro;
}else if(dato < vector [centro] ){
sup=centro-1;
} else {
inf=centro+1;
}
}
return -1;
}
public static void main(String []args){
int[]vector ={1,4,7,8,9,14,23,47,56,60,61,63,65,66,68,69,70,73,76,77,79,80,82};
int valorBuscado = 70;
System.out.println(busquedaBinaria(vector,valorBuscado)); }
}
GRACIAS

Más contenido relacionado

La actualidad más candente

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2angela montilla
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTODaniel Guaycha
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
El metodo burbujaXCritian_parra
El metodo burbujaXCritian_parraEl metodo burbujaXCritian_parra
El metodo burbujaXCritian_parraEdgar Rueda
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directatavo_3315_
 

La actualidad más candente (20)

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Comparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de OrdenamientoComparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de Ordenamiento
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2
 
Heap sort
Heap sortHeap sort
Heap sort
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
El metodo burbujaXCritian_parra
El metodo burbujaXCritian_parraEl metodo burbujaXCritian_parra
El metodo burbujaXCritian_parra
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shell
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 

Destacado

Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo ikky2345
 
Componentes internos del Computador
Componentes internos del ComputadorComponentes internos del Computador
Componentes internos del Computadorcequiroz2011
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por InsercionMateo Falcon
 
Servicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y GoogleServicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y GoogleArmando Nuñez Ramos
 
Examenes certificacion
Examenes certificacionExamenes certificacion
Examenes certificacionWilly Aguirre
 
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...CLEFormación
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y DestructorTecnologico
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vidasandrasig
 
Formulas para permutaciones
Formulas para permutacionesFormulas para permutaciones
Formulas para permutacionesIxma Tribal
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideSharePedro Bermudez Talavera
 

Destacado (16)

Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo
 
Componentes internos del Computador
Componentes internos del ComputadorComponentes internos del Computador
Componentes internos del Computador
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por Insercion
 
Servicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y GoogleServicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y Google
 
Hiato vs ditongo
Hiato vs ditongoHiato vs ditongo
Hiato vs ditongo
 
Examenes certificacion
Examenes certificacionExamenes certificacion
Examenes certificacion
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
 
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
 
Quicksort
QuicksortQuicksort
Quicksort
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vida
 
Formulas para permutaciones
Formulas para permutacionesFormulas para permutaciones
Formulas para permutaciones
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShare
 

Similar a Metodos de ordenamiento

Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en javaeccutpl
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxEverMuchairo1
 
Fundamentos VB - VBA
Fundamentos VB - VBAFundamentos VB - VBA
Fundamentos VB - VBAKudos S.A.S
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfjorgeulises3
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos OrdenamientoDaniel Guaycha
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Partecarpio
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamientolichic
 
Algoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busquedaAlgoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busquedaCesar Gonzalez
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Estructuras dinámicas
Estructuras dinámicasEstructuras dinámicas
Estructuras dinámicasPatriciaU
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1VivianaG
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++LenHugo
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 

Similar a Metodos de ordenamiento (20)

Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Ordenamiento ppt
Ordenamiento pptOrdenamiento ppt
Ordenamiento ppt
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptx
 
Fundamentos VB - VBA
Fundamentos VB - VBAFundamentos VB - VBA
Fundamentos VB - VBA
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Algoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busquedaAlgoritmos de ordenamineto y busqueda
Algoritmos de ordenamineto y busqueda
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Estructuras dinámicas
Estructuras dinámicasEstructuras dinámicas
Estructuras dinámicas
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
Informe insercion
Informe insercionInforme insercion
Informe insercion
 
Java
JavaJava
Java
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 

Último

Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismosaultorressep
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolicalf1231
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 

Último (20)

Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismo
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 

Metodos de ordenamiento

  • 1. METODOS DE ORDENAMIENTO Presentado por: JAVIER MUNEVAR FABIAN SOLER REALES MYLES
  • 2. METODO DE BURBUJA  La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.
  • 4. CODIGO JAVA METODO BURBUJA  public static void burbuja(int [] A){ int i, j, aux; for(i=0;i<A.length-1;i++) for(j=0;j<A.length-i-1;j++) if(A[j+1]<A[j]){ aux=A[j+1]; A[j+1]=A[j]; A[j]=aux; } }
  • 6. METODO SHELL  El ordenamiento Shell (Shell sort en inglés) es un algoritmo de ordenamiento. El método se denomina Shell en honor de su inventor Donald Shell.  El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector están casi ordenados.
  • 7. PSEUDOCO DIGO METODO SHELL ALGORITMO SHELL INICIO ENTERO INTERVALO, K, J, I, AUX INTERVALO ß N DIV 2 MIENTRAS(INTERVALO > 0){ PARA(I ß INTERVALO – 1, HASTA ß N, I ß I + 1){ J ß I - INTERVALO MIENTRAS(J >= 0){ K ß J + INTERVALO SI(VECTOR[K] <= VECTOR[J]){ AUX ß VECTOR[J]
  • 8. VECTOR[J] ß VECTOR[K] VECTOR[K] ß AUX }SI NO{ J ß 0 } J ß J - INTERVALO } } INTERVALO ß INTERVALO DIV 2 } }
  • 9. public static void shell(int A[]){ int salto, aux, i; boolean cambios; for(salto=A.length/2; salto!=0; salto/=2){ cambios=true; while(cambios){ // Mientras se intercambie algún elemento cambios=false; for(i=salto; i< A.length; i++) // se da una pasada if(A[i-salto]>A[i]){ // y si están desordenados aux=A[i]; // se reordenan A[i]=A[i-salto]; A[i-salto]=aux; cambios=true; // y se marca como cambio. } } } ORDENAMIENTO SHELL EN JAVA
  • 10. QUICK SORT  El ordenamiento rápido (quicksort en inglés) es un algoritmo creado por el científico británico en computación C. A. R. Hoare, basado en la técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log n.
  • 11. PSEUDOCODIGO ORDENAMIENTO QUICK SORT inicio variables A: arreglo[1..100] entero variables i,j,central:entero variables primero, ultimo: entero para i = 1 hasta 100 leer(A[i]) Fin para primero = 1 ultimo = 100 qsort(A[],100) Fin
  • 13. public static void quicksort(int A[], int izq, int der) { int pivote=A[izq]; // tomamos primer elemento como pivote int i=izq; // i realiza la búsqueda de izquierda a derecha int j=der; // j realiza la búsqueda de derecha a izquierda int aux; while(i<j){ // mientras no se crucen las búsquedas while(A[i]<=pivote && i<j) i++; // busca elemento mayor que pivote while(A[j]>pivote) j--; // busca elemento menor que pivote ORDENAMIENTO QUICK SORT EN JAVA
  • 14. if (i<j) { // si no se han cruzado aux= A[i]; // los intercambia A[i]=A[j]; A[j]=aux; } } A[izq]=A[j]; // se coloca el pivote en su lugar de forma que tendremos A[j]=pivote; // los menores a su izquierda y los mayores a su derecha if(izq<j-1) quicksort(A,izq,j-1); // ordenamos subarray izquierdo if(j+1 <der) quicksort(A,j+1,der); // ordenamos subarray derecho } ORDENAMIENTO QUICK SORT EN JAVA
  • 15. ORDENAMIENTO POR SELECCIÓN  El algoritmo de ordenación por el método de selección directa es un algoritmo que se basa en realizar varias pasadas, intentando encontrar en cada una de ellas el elemento que según el criterio de ordenación es mínimo y colocándolo posteriormente en su sitio.  Realiza una enorme cantidad de comparaciones, pero en contrapartida, muy pocos intercambios. Eso hace que su utilización se restrinja en general a dos situaciones: o bien necesitamos un algoritmo sencillito para ordenar unos pocos datos y cogemos éste mismo que no está mal y es facil de recordar, o bien tenemos una situación en la cual escribir en el array es mucho más gravoso que leer, como puede ser un escenario en el que intervengan determinados dispositivos de almacenamiento o memorias tipo flash, eeprom, etc. para el soporte de los datos.
  • 16. ORDENAMIENTO POR SELECCIÓN Explicación: Su funcionamiento es el siguiente: Buscar el mínimo o máximo elemento de la lista Intercambiarlo con el primero Buscar el mínimo o el máximo en el resto de la lista Intercambiarlo con el segundo Y en general: Buscar el mínimo o máximo elemento entre una posición i y el final de la lista Intercambiar el mínimo o máximo con el elemento de la posición i.
  • 17. METODOS DE BUSQUEDA Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez.
  • 18. BUSQUEDA SECUENCIAL  Este método se usa para buscar un elemento de un vector, es explorar secuencialmente el vector, es decir; recorrer el vector desde el prior elemento hasta el último. Si se encuentra el elemento buscado se debe visualizar un mensaje similar a “Fin de Búsqueda” o “Elemento encontrado” y otro que diga “posición=” en caso contrario, visualizar un mensaje similar a “Elemento no existe en la Lista”.  Este tipo de búsqueda compara cada elemento del vector con el valor a encontrar hasta que este se consiga o se termine de leer el vector completo.
  • 19. PSEUDOCODIGO DE BUSQUEDA SECUENCIAL V es vector de elementos de dimensión N K es elemento para i <- 1 hasta N repite: si V[i]=K entonces salida <- "Encontrado" fin fsi Fin para salida <- "No se ha encontrado el elemento"
  • 20.
  • 21. BUSQUEDA SECUENCIAL EN JAVA public int busquedaSecuencial(int []arreglo,int dato){ int posicion = -1; for(int i = 0; i < arreglo.length; i++){ //recorremos todo el arreglo if(arreglo[i] == dato){ //comparamos el elemento en el arreglo con el buscado posicion = i; //Si es verdadero guardamos la posicion break; //Para el ciclo } } return posicion; }
  • 22. BUSQUEDA BINARIA  Es un método que se basa en la división sucesiva del espacio ocupado por el vector en sucesivas mitades, hasta encontrar el elemento buscado.  Esta búsqueda utiliza un método de “divide y vencerás” para localizar el valor deseado. Con este método se examina primero el elemento central de la lista; si este es el elemento buscado entonces la búsqueda ha terminado. En caso contrario se determina si el elemento buscado está en la primera o segunda mitad de la lista y a continuación se repite el proceso anterior, utilizando el elemento central de esta sublista. Este tipo de búsqueda se utiliza en vectores ordenados.
  • 23. PSEUDOCODIO BUSQUEDA BIANRIA Función « Main » Inicio Constante VERDAD = 1 Constante FALSO = 0 Constante TAM = 50 Constante MAX = 100 Variables A [TAM], b, i. = Enteros. Para i 0 hasta i < TAM hacer A [ i ] = (rand() % MAX) + 1 Mostrar A [ i ]. Fin para Llamar procedimiento burbuja (A, TAM)
  • 24. Función « Main » Para i <- 0 hasta i < TAM hacer Mostrar A[ i ]. Fin para. Imprimir “Elemento que se desea buscar: “. Leer b. Si (! Función búsqueda (A, b, 0, TAM – 1) entonces Mostrar “Elemento no localizado”. Fin si Fin PSEUDOCODIO BUSQUEDA BIANRIA
  • 25. Procedimiento « Burbuja » Procedimiento burbuja (*A, n) Variables temp, i, j = enteros Para i 0 hasta i < n hacer Para j 0 hasta j < n hacer Si A[ j ] > A [ j + 1 ] entonces temp = A [ j ] A [ j ] = A [ j +1 ] A [ j + 1 ] = temp Fin si Fin para Fin para Fin Procedimiento burbuja. PSEUDOCODIO BUSQUEDA BIANRIA
  • 26. Función « Búsqueda » Función búsqueda (*A, b, inicial, final) Variables m = (inicial + final) / 2 = entero Si (A [ m ] == b) entonces Mostrar “Elemento encontrado: “, b Devolver VERDAD. Sino si (inicial == final) entonces Devolver FALSO Sino si (A [ m ] < b) entonces Devolver Función Búsqueda (*A, b, m + 1, final) Sino si (A [ m ] > b) entonces Devolver Función Búsqueda (*A, b, inicial, m - 1) Fin si Fin Función búsqueda. PSEUDOCODIO BUSQUEDA BIANRIA
  • 28. BUSQUEDA BINARIA EN JAVA class BusquedaBinaria{ /** * Busca un valor numerico dentro de un arreglo numerico... * previamente ordenado usando el metodo de busqueda binaria * public static int busquedaBinaria(int vector[], int dato){ int n = vector.length; int centro,inf=0,sup=n-1; while(inf<=sup){ centro=(sup+inf)/2; if(vector[centro]==dato){ return centro; }else if(dato < vector [centro] ){ sup=centro-1; } else {
  • 29. inf=centro+1; } } return -1; } public static void main(String []args){ int[]vector ={1,4,7,8,9,14,23,47,56,60,61,63,65,66,68,69,70,73,76,77,79,80,82}; int valorBuscado = 70; System.out.println(busquedaBinaria(vector,valorBuscado)); } }