Estoy tratando de enumerar las complejidades temporales de las operaciones de estructuras de datos comunes como Arrays, Binary Search Tree, Heap, Linked List, etc. y especialmente me refiero a Java. Son muy comunes, pero supongo que algunos de nosotros no estamos 100% seguros de la respuesta exacta. Cualquier ayuda, especialmente referencias, es muy apreciada.
Por ejemplo, para una lista enlazada individualmente: cambiar un elemento interno es O (1). ¿Cómo puedes hacerlo? Usted TIENE para buscar el elemento antes de cambiarlo. Además, para el vector, agregar un elemento interno se da como O (n). Pero, ¿por qué no podemos hacerlo en tiempo constante amortizado utilizando el índice? Por favor corríjame si me falta algo.
Estoy publicando mis hallazgos / conjeturas como primera respuesta.