Tecnología

Inicio

Turbo C métodos de clasificación

Ordenación de un conjunto de datos es uno de los problemas clásicos de la informática, por lo que no debería ser una sorpresa que una amplia variedad de métodos para clasificar en Turbo C y otros lenguajes de haber sido concebido. Se extienden de métodos ineficientes, sino simples de implementar los métodos mucho más rápidos pero más complejas. El mejor algoritmo para una situación depende del tamaño esperado del conjunto de datos que ser resuelto y la importancia de la eficiencia.

Ordenamiento de burbuja

El ordenamiento de burbuja es el más simple y más lento, algoritmo de clasificación. Es simplemente procede a través de la matriz, comparando el elemento corriente al elemento directamente delante de él. Si esos dos elementos están fuera de servicio, que cambian de lugar. Cuando la burbuja Ordenar llega al final, se comprueba para ver si algo ha cambiado lugares. Si lo hiciera, comienza de nuevo desde el principio. Continúa bucle a través de la matriz hasta que se las arregla para completar un recorrido completo sin hacer ningún intercambio. En promedio, esto toma tiempo O (N $ ² $), pero si los datos se sabe que es muy casi ordenados, con tal vez sólo un elemento fuera de lugar, que puede funcionar en O (n). Así que es un buen método para arreglos pequeños que no se ordenan a menudo o matrices más grandes que se sabe que ya se pueden clasificar (o casi) la mayoría de las veces.

selección Ordenar

El tipo de selección es un poco más refinado que el ordenamiento de burbuja. El algoritmo procede a través de toda la gama de datos para encontrar el elemento más pequeño. Dondequiera que elemento es, tiene su posición intercambiado con el primer elemento, y un contador toma nota de que el primer elemento de la matriz se sabe que ser resuelto correctamente. Se procede entonces a través de toda la matriz de nuevo, a excepción del primer elemento (que es conocido por estar en el lugar correcto.) Cuando encuentra el elemento más bajo, se mueve al segundo lugar y aumenta el contador para indicar que los dos primero se sabe que están ordenados los elementos. En general, la ordenación por selección funciona en tiempo O (N ²), pero tiene una ventaja: a lo sumo, n-1 cambia cada vez se producen a la matriz, ya que cada elemento se mueve solamente cuando se conoce su posición. Esto hace que sea un buen algoritmo en algunas situaciones exóticas donde grabar los datos en memoria tarda drásticamente más de leerlo.

Ordenación rápida

Como su nombre lo indica, el QuickSort es rápido. En promedio, se puede realizar una especie en O (n log n) tiempo. Pero es mucho más compleja que la de muchos otros programas y requiere que el desarrollador sabe un poco acerca de los datos de la matriz antes de la mano. En primer lugar, un "valor de pivote" debe ser elegido. Este es el valor que el desarrollador cree que está cerca de la mediana de todos los valores de la matriz. Cuanto mejor sea el valor de pivote, más rápida será la ordenación rápida va a realizar. Entonces, la matriz se divide en dos grupos: los que por encima del valor de pivote se mueven hacia el lado derecho, y aquellos por debajo del valor de pivote se mueven hacia el lado izquierdo. Con suerte, las dos partes están cerca de ser iguales en tamaño, pero no tienen que ser exactamente la misma. Por último, el algoritmo quicksort comienza de nuevo desde cero en cada lado, con nuevos valores de pivote elegidos, y estas mitades son finalmente dividido en cuartos. Cuando la ordenación rápida ha subdividido la matriz de modo que cada sección tiene un solo valor, la matriz ha sido solucionado.

Como la mayoría de los algoritmos recursivos, esto puede ser difícil de visualizar, por lo que se le anima a ver el paso ejemplo paso dado en la tercera referencia.