Soy asistente de enseñanza para un curso. Tengo 130 hojas de respuestas de estudiantes, ordenadas al azar. Necesito ordenar estas hojas de acuerdo con el número de lista de estudiantes. ¿Hay alguna manera de hacer esto realmente rápido?

Por supuesto, si considera ordenar teóricamente, entonces tendrá que usar alguna técnica de clasificación que tenga menos complejidad computacional. Se supone que las técnicas de análisis de algoritmos que usan los científicos informáticos y los estudiantes para determinar su tiempo de ejecución aproximado funcionan para dispositivos computarizados. Esto se debe a que tienen un procedimiento típico de lectura e interpretación de datos. Sin embargo, las mejoras en los algoritmos a lo largo de los años han transformado dichos dispositivos para que se comporten de manera más humana, pero la forma básica en que se procesa la información sigue siendo diferente. Por ejemplo, las calculadoras pueden evaluar expresiones aritméticas más rápido que cualquier ser humano normal, los humanos no leen en bits, los humanos no siempre toman decisiones considerando solo dos estados posibles.

Lo que quise decir dos es que las máquinas pueden estar hechas para actuar como seres humanos, pero no hacen que los humanos actúen como máquinas.

Por lo general, alguna técnica de clasificación de orden lineal como clasificación de Radix, clasificación de conteo o clasificación de cubo sería la mejor opción para una computadora. Pero para los humanos, el trabajo de fondo involucrado en muchos casos puede hacer que te enojes con la situación.

Aunque los humanos no tienen tales capacidades computacionales, sí tienen algo que las computadoras no tienen. INTUICIÓN. En nuestra vida diaria resolvemos muchos problemas complejos a través de la intuición. El problema que mencionó en este momento requiere que un humano lo resuelva. ¿Cómo usar nuestra intuición de la mejor manera posible?

Bueno, adelante con el conjunto de copias. Recorra a través de ellos y separe esas copias hasta que encuentre la más pequeña numéricamente. Ahora viene la ventaja de ser humano. Los que has segregado mientras recorrías casualmente, también los has echado un vistazo y, por lo tanto, tu cerebro en este punto (después de elegir la primera entrada) recordaría en qué conjunto de pila colocaste la segunda, entre las copias separadas o en la pila inexplorada izquierda y después de aproximadamente cuántas copias. Así podrás elegir fácilmente el segundo … y eventualmente el tercero … y eventualmente … esperas, ¿lo ordenaste?

Puede ser el peor de los casos, si la primera copia es la última, en ese caso, puede, por supuesto, buscar simultáneamente desde adelante y atrás, realizando la segregación y la memorización necesarias del orden en el que ha atravesado y, finalmente, insertando la copia requerida en Su posición deseada en el conjunto.

¡Voila! … acabas de realizar operaciones de selección e inserción sin temer la complejidad del tiempo cuadrático. Entonces, parece que acabas de usar una versión memorable del tipo de inserción. La desventaja principal que es la complejidad de tiempo cuadrático de los algoritmos de clasificación de inserción viene del hecho de que en un programa, las matrices deben atravesarse en serie para encontrar la posición exacta en la que debe insertar el elemento. Aquí, dado que usted es un ser humano, su cerebro parece estar realizando una memorización en cada paso, sin siquiera tener que preocuparse por eso en cualquier momento, optimizando así el algoritmo de clasificación de inserción estándar.

Así es exactamente como los humanos se han estado desempeñando “algorítmicamente” desde tiempos inmemoriales. 🙂

Este es un problema de clasificación. La ordenación por fusión y la clasificación rápida son la forma más rápida de hacerlo.

Suponiendo que las hojas de respuestas tienen números de lista del 1 al 130.
Usando Quick Sort (Divide and Conquer):

  1. Tome el paquete de sábanas y divídalas en dos pilas. La primera pila debe tener todas las hojas de respuestas que tengan números de rol menos de la mitad del número total en esa pila, es decir, 130/2 (65). Otra pila debe tener todas las hojas de respuestas con números de rol mayores a 130/2.
  2. Repita: recoja la primera pila y vuelva a dividir la pila en 2 pilas, la primera pila debe tener una hoja de respuestas con números de rol menores a 65/2. Y segundo mayor que 65/2.
  3. Repita hasta que todas las hojas estén ordenadas.

Uso de clasificación de fusión (modificada):

  1. Divida las hojas de respuestas en 10 paquetes de 13 cada uno.
  2. Ordena cada uno de estos paquetes como normalmente ordenarías las cartas de juego.
  3. Elija dos paquetes de igual tamaño.
  4. Coloque el primer paquete en su lado izquierdo y otro en su lado derecho. Comience a elegir la hoja de respuestas de cada paquete en orden ascendente y colóquelas en el centro para formar un nuevo paquete hasta que los paquetes de ambos lados se agoten.
  5. Repita el paso 3 hasta que solo le quede 1 paquete (que está ordenado).