Algoritmos de ordenamiento

andygalan002
Mind Map by andygalan002, updated more than 1 year ago
andygalan002
Created by andygalan002 over 5 years ago
11
0

Description

Método de la burbuja y método de quicksort

Resource summary

Algoritmos de ordenamiento
  1. Método de la Burbuja
    1. 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.
      1. También es conocido como el método del intercambio directo
        1. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.
        2. EXPLICACIÓN
          1. Ordeamos de forma ascendente
              1. Después vamos a recorrer la matriz
                  1. Utilizamos un for anidado para comparar los valores contenidos en la matriz
                      1. Si i = 0 el valor es 34 al entrar al segundo for el valor j = i + 1 será en este caso j = 1…
                          1. Si el valor de nums[j] es menor que el valor de nums[i] este se intercambiará de la siguiente forma, si queremos ordenar de manera Descendente solo tenemos que cambiar este signo.
                              1. Se guarda en un auxiliar para no perder el valor y volver a utilizarlo
                                  1. En las dos líneas anteriores lo que hicimos fue intercambiar valores con el fin de ordenarlos, por último vamos a imprimir la matriz.
                                    1. Finalmente se imprime:
        3. Método Quicksort
          1. Se basa en la técnica divide y vencerás, que consiste en ir subdividiendo el array en arrays más pequeños, y ordenar éstos.
            1. Suponiendo que tomamos como pivote el primer elemento, el método Quicksort que implementa este algoritmo de ordenación para ordenar un array de enteros se presenta a continuación.
              1. EXPLICACIÓN
                1. public static void quicksort(int A[], int izq, int der) {
                  1. int pivote=A[izq];
                    1. tomamos primer elemento como pivote
                      1. int i=izq;
                        1. int j=der;
                          1. int aux;
                            1. while(i<j){
                              1. while(A[i]<=pivote && i<j) i++;
                                1. while(A[j]>pivote) j--;
                                  1. if (i<j) {
                                    1. aux= A[i];
                                      1. los intercambia
                                        1. A[i]=A[j];
                                          1. A[j]=aux; } }
                                            1. A[izq]=A[j];
                                              1. se coloca el pivote en su lugar de forma que tendremos
                                                1. A[j]=pivote;
                                                  1. los menores a su izquierda y los mayores a su derecha
                                                    1. if(izq<j-1)
                                                      1. quicksort(A,izq,j-1);
                                                        1. ordenamos subarray izquierdo
                                                          1. if (j+1 <der)
                                                            1. quicksort(A,j+1,der); }
                                                              1. ordenamos subarray derecho
                                              2. si no se han cruzado
                                              3. busca elemento menor que pivote
                                              4. busca elemento mayor que pivote
                                              5. mientras no se crucen las búsquedas
                                            2. j realiza la búsqueda de derecha a izquierda
                                            3. i realiza la búsqueda de izquierda a derecha
                                2. Andrea Galán Galván
                                  1. 110028863
                                  Show full summary Hide full summary

                                  Similar

                                  PROGRAMACIÓN ORIENTADA A OBJETOS - TERCER CORTE
                                  Jose Anacona Pira
                                  EVENTOS EN JAVA
                                  **CR 7**
                                  Parcial Fundamento de Programación
                                  ALBERTO MANUEL PATERNINA LEON
                                  Java: Herencia y Polimorfismo
                                  Ana Emilie
                                  Certificación Java 8 - Oracle Certified Associate - Tema 1 - Estructura de Clases
                                  Miguel Gómez Cuesta
                                  EVENTOS EN JAVA
                                  LUIS NAKASIMA
                                  Interface en Java
                                  tavoberry
                                  Ingenieria Mecatronica
                                  Julian Palacios
                                  EVENTOS EN JAVA
                                  Diego Santos
                                  RESISTENCIA ELÉCTRICA
                                  Salomón Henao Pe
                                  Programación orientada a objetos usando java
                                  ALEX Merino