Realmente no tienes que creer lo que dicen. Puede ejecutar su código usted mismo y verificar: ordenar una matriz suficientemente grande (llena de una manera particular) con Arrays.sort () arroja una ArrayIndexOutOfBoundsException.
En el caso de Python, existía el mismo error lógico pero debido a una diferencia en el tamaño elegido para la estructura de datos auxiliar, no era posible reproducirlo.
Los equipos de Java y Python trataron el informe de error como válido y tomaron medidas para corregir el problema.
- ¿Cuál es la complejidad del tiempo para la escalera de palabras?
- ¿Cómo eliminará elementos de manera eficiente mientras itera una Colección?
- ¿Qué es el algoritmo?
- Se dan N nodos idénticos. ¿Cuántos árboles binarios son posibles?
- Si alguien pudiera factorizar rápidamente los números primos, ¿cuáles serían las consecuencias?
El parche de Java básicamente aumenta el tamaño de la estructura de datos auxiliar, en lugar de corregir el error lógico. Puede encontrar el parche aquí: http://cr.openjdk.java.net/~lpri…
El parche de Python corrige el error subyacente, según lo identificado por el artículo vinculado. Puede encontrar ese parche aquí: https://hg.python.org/cpython/re… Tim Peters reconoció el problema y hace un argumento convincente aquí (Problema 23515: Mala lógica en timsort’s merge_collapse) para solucionarlo correctamente.