¿Cuál es la complejidad temporal del algoritmo de clasificación?
La comparación es una comparación de dos elementos adyacentes, y el intercambio también se produce entre estos dos elementos. Por lo tanto, si dos elementos son iguales, no se intercambiarán nuevamente; si dos elementos iguales no son adyacentes, incluso si son adyacentes a través del intercambio por pares anterior, no se intercambiarán en este momento, por lo que el orden de los mismos elementos. no se modifica, por lo que la clasificación de burbujas es un algoritmo de clasificación estable.
Tiempo sublineal
Para un algoritmo, si coincide con T(n) = o(n), su complejidad temporal es tiempo sublineal o tiempo sublineal. De hecho, además de los algoritmos que coinciden con la definición anterior, otros algoritmos también tienen una complejidad de tiempo sublineal. Por ejemplo, existe el algoritmo de búsqueda O(n) Grover.
Todos los algoritmos de tiempo lineal no homogéneos comunes adoptan procesamiento paralelo (como el cálculo del determinante matricial de NC 1), procesamiento no clásico (como la búsqueda de Grover) o hacen suposiciones selectivas sobre la estructura de entrada garantizada ( como el método de búsqueda binaria de tiempo logarítmico de potencia).
Sin embargo, en algunos casos, como un grupo de cadenas indexado por uno de los primeros log(n) bits, puede depender de cada bit de la entrada, pero también coincide con condiciones de tiempo sublineales.
Los "algoritmos de tiempo sublineal" generalmente se refieren a aquellos algoritmos que no coinciden con la descripción del párrafo anterior. Por lo general, se ejecutan en una familia tradicional de arquitecturas informáticas y no permiten ninguna suposición previa sobre la entrada. Pero pueden ser algoritmos aleatorios y, excepto en casos especiales, deben ser verdaderamente aleatorios.