sort sheet run quick has for dummies complexity cheat big best asymptotic java data-structures time-complexity summary

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 )




Las complejidades de tiempo y espacio para las principales clases de colecciones deben corresponder a estructuras de datos de complejidad de tiempo conocida. No creo que haya nada específico de Java al respecto, por ejemplo (como dices) la búsqueda hash debe ser O (1). Puedes mirar aquí o here .


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!

http://bigocheatsheet.com/