¿Cuál es el mejor algoritmo de clasificación para alfabetizar físicamente mi colección de libros?

La pregunta es cómo clasificar FÍSICAMENTE una colección de libros.

Bueno, un algoritmo possoble sería una selección rápida. Pero tiene problemas.

Tienes que hacer muchas comparaciones. Esto podría ser difícil si tiene problemas alfabéticos como yo y será propenso a errores humanos.

Harás muchos intercambios. Especialmente si la estantería está apretada, esto podría hacer que su vida sea miserable cuando los libros no encajan donde deben ir.

Deberá mantener un montón de cosas en la memoria y probablemente tendrá que hacer un seguimiento de las cosas con papel. Y, inevitablemente, cometerá errores que podrían ser costosos.

El tiempo que tomará será peor que proporcional al tamaño de su estantería. Además, el tiempo que tomará es impredecible debido a la naturaleza de la clasificación rápida.

¡Qué pasa si te digo que hay una manera de hacerlo que soluciona todos estos problemas! Aquí está el algoritmo que usaría.

  1. Tome una computadora / tableta / teléfono y algunas notas adhesivas y un bolígrafo.
  2. Con las notas adhesivas, etiquete cada libro por índice: 1 2 3 4 …
  3. Escriba el título del libro seguido del índice. No es necesario escribir el título completo, solo lo suficiente para ser alfabetizado de manera razonablemente precisa. Se verá algo como esto:

Guía de autostopistas 1

Clifford the 2

Algoritmos para 3

5. Pegue esto en algo en Internet que lo clasifique o escriba su propio código.

6. Retire todos los libros de la estantería. No los mezcle demasiado o no podrá encontrar un índice determinado.

7. Uno por uno, coloque el índice correcto en la estantería de acuerdo con el texto ordenado.

No estoy seguro, pero este algoritmo es probablemente mucho más rápido que quicksort para una colección de tamaño decente.

¡Feliz clasificación!

Como tiene alrededor de 10 libros por letra del alfabeto, una posibilidad es tomar cada libro por turnos y colocarlo en una de las 26 pilas de acuerdo con la primera letra de su título (también puede tener una sola pila para x, y , yz juntos). Luego puede ordenar cada pila por separado. Puede ordenar el As colocándolos en el estante. El libro más a la izquierda ya está ordenado. Para cada libro sucesivo de izquierda a derecha, tome ese libro e insértelo en su ubicación correcta entre el grupo ordenado (esto es esencialmente una clasificación de inserción). Si no tiene espacio para más de 20 pilas, puede dividir la clasificación inicial en pilas por etapas. Por ejemplo, si la primera letra del título está en A hasta E, colóquela en una pila de acuerdo con su primera letra, de lo contrario, déjela en la pila “restante”. Luego clasifique las pilas A a E como antes. Ahora vuelve a pasar por la pila sobrante y forma pilas para las letras F a J, y así sucesivamente.

Divida los libros en grupos de 10 a 20 cada uno y ordénelos por inserción, y luego combine los grupos de dos en dos. Esto es lo que solíamos ordenar los exámenes de CS cuando era un TA de pregrado y parece funcionar bastante bien para los objetos físicos en general.