草庐IT

freezeset

全部标签

Python freezeset 散列算法/实现

我目前正在尝试了解为Python的内置frozenset数据类型定义的哈希函数背后的机制。实现显示在底部以供引用。我特别感兴趣的是选择这种散射操作的基本原理:lambdah:(h^(h其中h是每个元素的哈希值。有谁知道这些是从哪里来的?(也就是说,选择这些数字有什么特别的原因吗?)或者它们只是随意选择的?这是来自官方CPython实现的片段,staticPy_hash_tfrozenset_hash(PyObject*self){PySetObject*so=(PySetObject*)self;Py_uhash_th,hash=1927868237UL;setentry*entry;

Python freezeset 散列算法/实现

我目前正在尝试了解为Python的内置frozenset数据类型定义的哈希函数背后的机制。实现显示在底部以供引用。我特别感兴趣的是选择这种散射操作的基本原理:lambdah:(h^(h其中h是每个元素的哈希值。有谁知道这些是从哪里来的?(也就是说,选择这些数字有什么特别的原因吗?)或者它们只是随意选择的?这是来自官方CPython实现的片段,staticPy_hash_tfrozenset_hash(PyObject*self){PySetObject*so=(PySetObject*)self;Py_uhash_th,hash=1927868237UL;setentry*entry;