¿Cuál es el algoritmo más ineficiente para los estándares actuales que se usa ampliamente en la industria?

Usted pregunta: ¿Cuál es el algoritmo más ineficiente para los estándares actuales que se usa ampliamente en la industria?

Diría que un buen candidato para esto sería atravesar secuencialmente estructuras de datos que son matrices lógicas de elementos de tamaño fijo cuyos elementos individuales no se almacenan en la memoria contigua (y en su lugar se encuentran dispersos en el montón).

En teoría, RAM significa “Memoria de acceso aleatorio”, y eso implicaría que no hay penalización por acceder a cualquier ubicación en él al azar (en lugar de acceder a ubicaciones contiguas en secuencia).

En la práctica, para grandes cantidades de datos, esto no funciona bien en absoluto con las memorias caché de la CPU y cómo se obtienen los datos de la RAM en esas memorias caché.

Los entornos de programación que, por simplicidad de implementación, no proporcionan ninguna forma estándar de almacenar una matriz de elementos de tamaño fijo en una porción contigua de memoria, claramente no son tan eficientes como podrían ser (piense en todos los entornos de programación donde lo que normalmente se llama “matriz” es realmente un elegante hastable). Con la virtualización de hardware que probablemente importa más de lo que solía en el pasado reciente.

Observe también cómo C y C ++ proporcionan una forma de hacerlo (también con tipos complejos, incluidos los objetos para C ++, no solo los tipos escalares básicos) directamente en su núcleo.