mardi 21 avril 2020

Manual Hashing vs std::unordered_map in C++

I am new to hashing and hash-maps in the world of competitive programming.

Throughout solving problems, I have been exposed to manual procedures of setting up hash functions, such as within the "rolling hash" technique. Additionally, I have seen wide use of the easy-to-use std::unordered_map in C++.

I have learned through research of issues that may arise when using std::unordered_map, primarily due to collisions in its in-built hash function.

Aside from the familiar std::unordered_map, I am wondering what the point is of manually creating hash-maps and hash functions apart from avoiding collisions.

Moreover, what specialized benefits might using various manual hashing techniques such as the rolling hash grant, however subtle?

Aucun commentaire:

Enregistrer un commentaire