Directorio de artículos
Análisis de Complejidad de Tiempo y Espacio – Algoritmo de Clasificación de Selección
apenas
¿Qué es el algoritmo de clasificación de selección?
El algoritmo de clasificación por selección es un algoritmo que compara cada número con todos los números que le siguen y coloca el número más grande o más pequeño en la posición actual.
parte del código
public class select {
public static void main(String[] args) {
int[] arr = {79,3213,3,5,45,65};
selectfFunction(arr);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void selectfFunction(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[i]) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = 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.
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; 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).