University of Cambridge > Talks.cam > Computer Laboratory Tech Talks > Hashing

Hashing

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Jan Samols.

Lunch provided

Hashing values is an important technique for efficient associative containers. It has multiple independent dimensions of considerations. None of these considerations is generally well understood.

This talk scratches the surface of the following areas:

• Using hash functions for associative containers. • Hashing byte sequences into hash values and assessing the quality of hash functions. • Extracting byte sequences from values and hashing the resulting byte sequences. • Things to consider for a default hashing function.

The creation of containers and hashing functions is typically done by specialists. The primary intention of discussing them is to give an idea why applications should stay away from custom implementations.

On the other hand provision of hash values for user-defined types is rather common-place to support their use as keys of associative containers. Thus, this talk will have an emphasis on the important aspects for providing hash values for user-defined types:

• The relation between equality and hash values. • Taking care of sequences to avoid collisions for empty sequences. • Interaction of hash values between different types (“transparency”).

The code examples use C++. However, the various considerations are language independent and their understanding will be useful when using other programming languages, too.

Dietmar Kuhl’s – Profile:

Dietmar is a Senior Developer in the financial industry working at Bloomberg LP, one of the moderators of comp.lang.c+.moderated, and frequent attendee of the C+ committee meetings and the ACCU conferences (typically also presenting at ACCU ).

This talk is part of the Computer Laboratory Tech Talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2019 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity