Hash 哈希表上迭代的伪随机性

Hash 哈希表上迭代的伪随机性,hash,hashtable,Hash,Hashtable,维基百科上的文章说: 哈希表上下文中的伪随机顺序是什么意思?这意味着很难预测迭代访问每个对象的顺序,尽管没有实际的随机性。虽然如果在这些迭代之间没有对哈希表进行任何更改,哈希表通常会以相同的顺序在每个对象上迭代,但即使是添加另一个对象这样简单的操作也可能会改变整个容器的迭代顺序 这是因为哈希表存储对象的位置基于哈希函数以及哈希表中的桶数。根据实现的不同,当您向哈希表添加内容时,哈希表可能会增加其存储桶的数量,然后移动包含的对象以匹配新的存储桶集,从而更改迭代顺序 Tries support or

维基百科上的文章说:


哈希表上下文中的伪随机顺序是什么意思?

这意味着很难预测迭代访问每个对象的顺序,尽管没有实际的随机性。虽然如果在这些迭代之间没有对哈希表进行任何更改,哈希表通常会以相同的顺序在每个对象上迭代,但即使是添加另一个对象这样简单的操作也可能会改变整个容器的迭代顺序

这是因为哈希表存储对象的位置基于哈希函数以及哈希表中的桶数。根据实现的不同,当您向哈希表添加内容时,哈希表可能会增加其存储桶的数量,然后移动包含的对象以匹配新的存储桶集,从而更改迭代顺序

Tries support ordered iteration, whereas iteration over a hash table will result in a pseudorandom order given by the hash function.