| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Programación Java >> Content
    Cómo utilizar un Heapsort en Java
    El algoritmo heapsort es uno de los algoritmos más rápidos de clasificación disponibles . Los programadores usan heapsort en Java porque es una buena opción para las matrices muy grandes que saben estar en un estado sin clasificar. Por razones de eficacia , no se utiliza una estructura de árbol real. En cambio , el árbol se forma en el lugar, justo en el array. El algoritmo heapsort es un " en el lugar" algoritmo , ya que no requiere más memoria para realizar la ordenación . Instrucciones
    1

    Componer el método de intercambio. Esto intercambiar dos elementos de una matriz " " public void intercambio estática (int [ ] a, int i , int j ) { int tmp = a [ j ] ; . A [ j ] = a [ i ], a [i ] = tmp ;} " "
    2

    Escribir el núcleo del algoritmo, el método siftDown . Se utiliza tanto para formar la estructura de pila y hacer el tipo real.
    3

    Tamizar valores altos hacia la raíz del árbol y valores pequeños hacia las hojas con el método siftDown . Como este método se llama varias veces durante el proceso de clasificación , el nodo más grande se tamiza constantemente al nodo raíz y se trasladó a la final de la matriz . Cualquier nodo n tiene un máximo de dos niños, cuyos índices son n * 2 + 1 y n * 2 + 2 . " " public static void siftDown (int [ ] a, int inicio , int fin) { int root = inicio , mientras que ( root * 2 + 1 niño int = root * 2 + 1 //Si el niño tiene un hermano y de la valor del niño es inferior a su hermano si (el niño menor + + ;} if ( un swap [ root] (a, raíz, hijo) ; root = niño; } else {return ;} } } " "
    4 < p > Utilizar el método heapify . Este método se llama al principio de la clase para crear la estructura de montón inicial . Esto se realiza de forma rápida , ya que la estructura de montón es un tanto vaga . el único requisito es que cada nodo raíz debe ser mayor que el nodos hijos " " public static void heapify (int [ ] a) {for (int start = a.length /2 - 1; inicio > = 0 , empieza -) . siftDown (a, comienzo , a.length - 1 ) ;} " "
    5

    Escribir el método heapsort el método heapifies primero la matriz de prepararse para la clase el método siftDown entonces se llamó de nuevo desde el nodo raíz es ahora un valor pequeño presente . . . tamiza un nuevo valor grande para el nodo raíz , y todo el proceso se repite hasta que el tamaño de la pila es una " " public static void heapSort ( int [ ] a) { heapify ( a) ; . for (int = un extremo . longitud - 1 ; final > 1 ; final -) { swap ( a, final , 0); siftDown (a, 0 , final - 1 ) ;} } " "
    6

    prueba . el método heapsort el siguiente ejemplo muestra un pequeño programa de prueba " " public static void main ( String [] args ) { int [ ] a = new int [ 10] . for (int i = 0 ; i for (int i = 0 ; i swap ( a, i, i + ( int) ( Math.random () * ( 9 - i)) ) System.out.println ( "Antes de la clasificación :") ; for (int i = 0 ; i heapsort ( a); System.out.println ( " Después de la clasificación "); for (int i = 0 ; } i " "

    Previous :

    next :
      Artículos relacionados
    ·Cómo hacer una pirámide Número Con Java 
    ·Tutorial de Programación Java API Sound 
    ·Cómo crear UML De Java Fuente 
    ·Cómo convertir un entero a una matriz binaria en Java 
    ·Cómo llamar a la API de Google Translate en Mi Android…
    ·1.5 Tutorial de Java 
    ·Las diferencias entre Java y Javascript 
    ·Cómo utilizar Sprites animados en Eclipse 
    ·Cómo leer los archivos HTML usando Java 
    ·Desarrollo de interfaz de usuario Android 
      Artículos destacados
    ·Cómo utilizar la dirección de la calle en lugar de La…
    ·Cómo visualizar las variables booleanas en C + + 
    ·Cómo crear un emulador de Android 
    ·Cómo colocar las funciones de JavaScript en Pie 
    ·Cómo escribir un script de shell para suprimir archivo…
    ·Cómo utilizar colores en Java 
    ·Cómo configurar un host proxy PHP JavaScript 
    ·MySQL Comandos Tutorial 
    ·Juegos Java para 
    ·Cómo crear una base de datos en NetBeans 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com