sheet - Referencia de Java Data Structures
space complexity (6)
¿Alguien puede darme referencias de un sitio web que contiene un resumen de las principales estructuras de datos de Java y su respectiva complejidad en el tiempo (para algunas operaciones determinadas como agregar, encontrar, eliminar), por ejemplo, las Hashtable
son O (1) para encontrar, mientras LinkedList
s son O (n). Algunos detalles como el uso de la memoria también serían agradables.
Esto sería realmente útil para pensar en estructuras de datos para algoritmos.
¿Hay alguna razón para pensar que la implementación de Java es diferente (en términos de complejidad) que una implementación genérica e independiente del lenguaje? En otras palabras, ¿por qué no solo hace referencia a una referencia general sobre la complejidad de varias estructuras de datos?
Diccionario NIST de Algoritmos y Estructuras de Datos
Pero, si insistes en Java específico:
Estructuras de datos estándar de Java Nota de Big O
Java Collections cheatsheet V2 (enlace muerto, pero esta es la primera versión de la hoja de trucos )
Encontré muy útil la página del Marco de Colecciones , especialmente el Marco del Esquema de Colecciones , donde cada interfaz / clase es descrita por breeefly. Lamentablemente, no hay información importante.
La descripción más completa de las colecciones de Java está aquí
No creo que haya ningún sitio web que lo describa (aunque parece una buena idea para un proyecto). Creo que parte del problema es que es muy importante comprender cómo se ejecutan cada uno de los algoritmos. En su mayor parte, parece que entiendes Big-O, así que lo usaría como tus mejores suposiciones. Haga un seguimiento con algunos benchmarking / perfiling para ver qué se ejecuta más rápido / más lento.
Y, sí, los documentos de Java deberían tener mucha de esta información en java.util
.
No pude ver este recurso en particular mencionado aquí, lo encontré de gran utilidad en el pasado. ¡Conoce tus complejidades!