Por favor, envíe cualquier comentario a la dirección: <mi nombre de usuario> at ya.ru
Hola, solo quería llamar tu atención sobre el hecho de que la página a la que haces referencia, http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/Sorting/countingSort.htm, y la página de Wikipedia sobre ordenación por conteo , tienen dos algoritmos diferentes que funcionan en dos direcciones diferentes . La página de kent.edu tiene c[1] que contiene el recuento de todos los elementos con la clave más baja, pero el algoritmo en WP tiene c[1] que contiene 0 .
Por eso, el algoritmo WP le suma 1 cada vez que agrega su elemento a la matriz ordenada, recorriendo la matriz original de abajo hacia arriba. Pero el algoritmo de Kent le resta 1 cuando agrega un elemento, recorriendo la matriz original de arriba hacia abajo.
Ambos tienen razón, son diferentes, pero uno debe usar (+1) y el otro (-1). Cambiar (+1) por (-1) es incorrecto; también hay otros cambios que deben realizarse en el algoritmo y, al final, será el mismo algoritmo, pero funcionando en la dirección opuesta.