3 Clasificación de burbujas

Pertenece al pedido original.

 

(1) Ideas:

         La clasificación de burbujas es ajustar los elementos más grandes hacia atrás. La comparación es la comparación de dos elementos adyacentes y el intercambio también ocurre entre estos dos elementos. Cada vez que se atraviesa la matriz original, el elemento más grande está al final.

 

(2) Análisis de complejidad:

(2.1) Complejidad del tiempo:

         Mejor caso: se ordena un pedido positivo, solo es necesario comparar n veces. Entonces es O (n). El programa necesita agregar un bit de bandera, si un recorrido está en una secuencia positiva, se romperá.

         En el peor de los casos: orden inverso y orden, es necesario comparar (n-1) + (n-2) +… + 1 veces, O ( n ^ {2}).

         Situación media: O ( n ^ {2}).

(2.2) Complejidad espacial:

         O (1)。

 

(3) Estabilidad:

         La clasificación de burbujas es ajustar los elementos más grandes hacia atrás. La comparación es la comparación de dos elementos adyacentes y el intercambio también ocurre entre estos dos elementos. Por lo tanto, si dos elementos son iguales, creo que no los intercambiará de manera aburrida; si dos elementos iguales no son adyacentes, entonces incluso si los dos elementos son adyacentes entre sí a través del intercambio anterior por pares, esto No hay intercambio en ese momento , por lo que el orden de los mismos elementos no cambia, por lo que la clasificación de burbujas es un algoritmo de clasificación estable.

 

segmento de código:

void bubble_sort(int arr[],int len)
{
	int tmp;
	for(int i=0;i<len-1;i++)
	{
		for(int j=0;j<len-1-i;j++)
		{
			if(arr[j]>arr[j+1])			//非降序
			{
				tmp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=tmp;
			}
		}
	}
}

 

Supongo que te gusta

Origin blog.csdn.net/u012906122/article/details/103592892
Recomendado
Clasificación