Executando verificação de segurança...
1

Excelente explicacação!! So queria fazer uma correção, hash table não tem tempo O(LogN) e sim O(1) ou seja é constante. E sim o javascript usa hash table no object e no Map. Quando você passa uma chave para um objeto ele transforma isso no hash que vai apontar diretamente para o enredeço de memoria (simplificando). Ou seja independente no numero de elementos dentro do object voce vai ter sempre o mesmo tempo de acesso.

2

Já corrigi o texto, obrigado!

Mas vale lembrar que "constante" não quer dizer "sempre o mesmo tempo", pois depende de detalhes internos do algoritmo. Por exemplo, conforme a quantidade de itens cresce, pode ter alguma demora adicional para resolver colisões (e o tempo total disso tudo depende dos algoritmos escolhidos), etc.

Mas enfim, O(logn) estava errado mesmo, eu pensei uma coisa e escrevi outra :-)