Directorio de artículos
Análisis de la complejidad del tiempo y el espacio: algoritmo de clasificación de burbujas
apenas
¿Qué es el algoritmo de clasificación de burbujas?
El algoritmo de clasificación de burbujas consiste en realizar n rondas de grandes intercambios, y cada ronda compara el tamaño de dos números adyacentes y realiza intercambios.
[Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y cargarla directamente (img-WFG1VuGd-1661504862731) (C:\Users\dongxu.kwb\Downloads\Unnamed file (1)]. png)
parte del código
/**
* @author `dongxu.kwb`
* @date `2022/8/26`
*/
public class PaoSort {
public static void main(String[] args) {
int[] arr = {79,3213,3,5,45,65};
paoSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void paoSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length-1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
}
}
Análisis de la complejidad del tiempo y análisis de la complejidad del espacio
Permítanme hablar primero sobre la complejidad del tiempo:
for
Son estos dos bucles los que afectan su complejidad temporal.
or (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length-1; j++) {
}
}
El primer bucle for ejecuta n
tiempos y anida un n-1
bucle dentro de él, n(n-1)
por lo que la complejidad del tiempo es O( n 2 n^{2}norte2 )
Hablemos de la complejidad del espacio
Complejidad del espacio Debido a que la variable creada es temp
así, la complejidad del espacio es O(1).