C++ Cpp

Qual escolher? Vou mostrar abaixo as vantagens e desvantagens de cada estrutura de dados.

Diferença

A std::map é ordenada pela inserção de valores, a std::unordered_map não garante a ordenação devido seu algoritmo de hash.

Uso

É muito simples usar essas duas estruturas de dados. Aprendendo usar uma delas, você aprende usar as duas.

Uso de Memória

O uso de memória da std::unordered_map é maior devido a falta de ordenação.

Performance

A estrutura mais rápida é a std::unordered_map, devido seu cálculo de armazenamento de dados ser muito otimizado. Performando nas operações de armazenamento e consulta.

Conclusão

Caso tenha pouca memória use std::map, mas se preferir por performance use std::unordered_map.

Links de Refência

http://en.cppreference.com/w/cpp/container/map
http://en.cppreference.com/w/cpp/container/unordered_map
http://supercomputingblog.com/windows/ordered-map-vs-unordered-map-a-performance-study/

Tem alguma dúvida ou sugestão? Deixe nos comentários!

Participe da conversa! 1 comentário

  1. Acho que vale a pena ressaltar que no momento da escolha, além de se tiver pouca memória, é se você precisa do map ordenado. Que isso importando na escolha.

    Responder

Deixe um comentário

CATEGORIA

Bibliotecas, C++

Tags

, , ,