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