bubble sort java java sorting algorithms code examples
Este tutorial explicará la clasificación de burbujas en Java junto con el algoritmo de clasificación principal de Java, la implementación de clasificación de burbujas y los ejemplos de código:
Un algoritmo de clasificación se puede definir como un algoritmo o un procedimiento para colocar elementos de una colección en un orden específico. Por ejemplo, si tiene una colección numérica como una ArrayList de enteros, es posible que desee organizar los elementos de ArrayList en orden ascendente o descendente.
Del mismo modo, es posible que desee organizar las cadenas de una colección de cadenas en orden alfabético o lexicográfico. Aquí es donde entran en juego los algoritmos de clasificación en Java.
cómo reproducir archivos .jar
Lo que vas a aprender:
Principales algoritmos de clasificación en Java
Los algoritmos de clasificación generalmente se evalúan en función de las complejidades del tiempo y el espacio. Java admite varios algoritmos de clasificación que se utilizan para clasificar u organizar las colecciones o estructuras de datos.
La siguiente tabla muestra los principales algoritmos de clasificación admitidos en Java junto con sus complejidades mejores y peores casos.
Complejidad del tiempo | ||||
---|---|---|---|---|
Ordenar por radix | Algoritmo de ordenación lineal. | O (nk) | O (nk) | O (nk) |
Algoritmo de clasificación | Descripción | Mejor caso | Peor de los casos | Caso medio |
Ordenamiento de burbuja | Compara el elemento actual con elementos adyacentes repetidamente. Al final de cada iteración, el elemento más pesado se burbujea en su lugar adecuado. | En) | O (n ^ 2) | O (n ^ 2) |
Tipo de inserción | Inserta cada elemento de la colección en su lugar apropiado. | En) | O (n ^ 2) | O (n ^ 2) |
Combinar ordenar | Sigue el enfoque de divide y vencerás. Divide la colección en subcolecciones más simples, las ordena y luego combina todo | O (nlogn) | O (nlogn) | O (nlogn) |
Ordenación rápida | Técnica de clasificación más eficiente y optimizada. Utiliza divide y vencerás para ordenar la colección. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Orden de selección | Encuentra el elemento más pequeño de la colección y lo coloca en su lugar adecuado al final de cada iteración. | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Ordenar montón | Los elementos se ordenan por construcción de montón mínimo o montón máximo. | O (nlogn) | O (nlogn) | O (nlogn) |
Aparte de las técnicas de clasificación que se dan en la tabla anterior, Java también admite las siguientes técnicas de clasificación:
- Clasificación de cubos
- Contando Ordenar
- Tipo de concha
- Tipo de peine
Pero estas técnicas se utilizan con moderación en aplicaciones prácticas, por lo que estas técnicas no formarán parte de esta serie.
Analicemos la técnica de clasificación de burbujas en Java.
Clasificación de burbujas en Java
La clasificación de burbujas es la más simple de todas las técnicas de clasificación en Java. Esta técnica ordena la colección comparando repetidamente dos elementos adyacentes e intercambiándolos si no están en el orden deseado. Por lo tanto, al final de la iteración, el elemento más pesado se hace burbujear para reclamar su posición legítima.
Si hay n elementos en la lista A dados por A (0), A (1), A (2), A (3),… .A (n-1), entonces A (0) se compara con A (1 ), A (1) se compara con A (2) y así sucesivamente. Después de comparar si el primer elemento es mayor que el segundo, los dos elementos se intercambian si no están en orden.
Algoritmo de clasificación de burbujas
El algoritmo general para la técnica de clasificación de burbujas se proporciona a continuación:
Paso 1: Para i = 0 a N-1, repita el Paso 2
Paso 2: Para J = i + 1 a N - repito
Paso 3: si A (J)> A (i)
Intercambiar A (J) y A (i)
(Fin del bucle for Inner)
(Fin si exterior para bucle)
Paso 4: Salida
Ahora demostremos la técnica de clasificación de burbujas con un ejemplo ilustrativo.
Tomamos una matriz de tamaño 5 e ilustramos el algoritmo de clasificación de burbujas.
Ordenar una matriz usando la ordenación de burbujas
La siguiente lista debe ordenarse.
cómo ver anime en línea gratis
Como puede ver arriba, la matriz está completamente ordenada.
La ilustración anterior se puede resumir en forma de tabla como se muestra a continuación:
Pasar | Lista sin clasificar | comparación | Lista ordenada |
---|---|---|---|
{3,6,11,4,15} | {11,4} | {3,6,4,11,15} | |
1 | {11, 3, 6,15,4} | {11,3} | {3,11,6,15,4} |
{3,11,6,15,4} | {11,6} | {3,6,11,15,4} | |
{3,6,11,15,4} | {11,15} | {3,6,11,15,4} | |
{3,6,11,15,4} | {15,4} | {3,6,11,4,15} | |
2 | {3,6,11,4,15} | {3,6} | {3,6,11,4,15} |
{3,6,11,4,15} | {6,11} | {3,6,11,4,15} | |
3 | {3,6,4,11,15} | {3,6} | {3,6,4,11,15} |
{3,6,4,11,15} | {6,4} | {3,4,6,11,15} | |
{3,4,6,11,15} | CLASIFICADO |
Como se muestra en el ejemplo anterior, el elemento más grande burbujea hasta su posición correcta con cada iteración / pasada. En general, cuando llegamos a N-1 (donde N es un número total de elementos en la lista) pasa; tendremos toda la lista ordenada.
Ejemplo de código de clasificación de burbujas
El siguiente programa muestra la implementación de Java del algoritmo de clasificación de burbujas. Aquí, mantenemos una matriz de números y usamos dos bucles for para atravesar elementos adyacentes de la matriz. Si dos elementos adyacentes no están en orden, se intercambian.
|_+_|Producción:
Matriz original: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Matriz ordenada: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Preguntas frecuentes
P # 1) ¿Cuáles son los algoritmos de clasificación en Java?
Responder: El algoritmo de clasificación se puede definir como un algoritmo o procedimiento mediante el cual los elementos de una colección se pueden ordenar o organizar de la manera deseada.
A continuación se muestran algunos de los algoritmos de clasificación admitidos en Java:
- Ordenamiento de burbuja
- Tipo de inserción
- Orden de selección
- Combinar ordenación
- Ordenación rápida
- Orden de radix
- Heapsort
Q #2) ¿Cuál es el mejor algoritmo de clasificación en Java?
Responder: Se supone que Merge Sort es el algoritmo de clasificación más rápido en Java. De hecho, Java 7 ha utilizado internamente la ordenación por combinación para implementar el método Collections.sort (). Quick Sort es también otro mejor algoritmo de clasificación.
Q #3) ¿Qué es la clasificación de burbujas en Java?
Responder: La clasificación de burbujas es el algoritmo más simple de Java. La clasificación de burbujas siempre compara dos elementos adyacentes en la lista y los intercambia si no están en el orden deseado. Por lo tanto, al final de cada iteración o pasada, el elemento más pesado se burbujea hasta su lugar adecuado.
Q #4) ¿Por qué Bubble tipo N?2?
Responder: Para implementar la ordenación de burbujas, usamos dos bucles for.
carácter a int c ++
El trabajo total realizado se mide por:
Cantidad de trabajo realizado por el bucle interno * número total de veces que se ejecuta el bucle externo.
Para una lista de n elementos, el ciclo interno funciona para O (n) para cada iteración. El bucle exterior se ejecuta para la iteración O (n). Por tanto, el trabajo total realizado es O (n) * O (n) = O (n2)
Q #15) ¿Cuáles son las ventajas del tipo de burbuja?
Respuesta: Las ventajas de Bubble Sort son las siguientes:
- Fácil de codificar y comprender.
- Se requieren pocas líneas de código para implementar el algoritmo.
- La clasificación se realiza en el lugar, es decir, no se requiere memoria adicional y, por lo tanto, no hay sobrecarga de memoria.
- Los datos clasificados están inmediatamente disponibles para su procesamiento.
Conclusión
Hasta ahora, discutimos el algoritmo de clasificación Bubble Sort en Java. También exploramos el algoritmo y la ilustración detallada de la clasificación de una matriz utilizando la técnica de clasificación de burbujas. Luego implementamos el programa Java en Bubble Sort.
En el siguiente tutorial, continuaremos con las otras técnicas de clasificación en Java.
=> Consulte TODOS los tutoriales de Java aquí.
Lectura recomendada
- Clasificación de selección en Java: algoritmo de clasificación de selección y ejemplos
- Ordenación por inserción en Java: algoritmo y ejemplos de ordenación por inserción
- Clasificación de burbujas en C ++ con ejemplos
- Cómo ordenar una matriz en Java - Tutorial con ejemplos
- Tutorial de longitud de matriz de Java con ejemplos de código
- Método MongoDB Sort () con ejemplos
- Comando de ordenación de Unix con sintaxis, opciones y ejemplos
- Java 'this' palabra clave: tutorial con ejemplos de código