Estou tentando listar complexidades de tempo de operações de estruturas de dados comuns, como Arrays, árvore de pesquisa binária, heap, lista vinculada, etc. e, especialmente, estou me referindo a Java. Eles são muito comuns, mas acho que alguns de nós não estão 100% confiantes sobre a resposta exata. Qualquer ajuda, especialmente referências, é muito apreciada.
Por exemplo, para lista vinculada individualmente: Alterar um elemento interno é O (1). Como você pode fazer isso? Você TEM que pesquisar o elemento antes de alterá-lo. Além disso, para o vetor, adicionar um elemento interno é dado como O (n). Mas por que não podemos fazer isso em tempo constante amortizado usando o índice? Por favor, me corrija se eu estiver faltando alguma coisa.
Estou postando minhas descobertas / suposições como a primeira resposta.