【发布时间】:2020-01-29 18:32:48
【问题描述】:
例如,如果我正在对整数进行哈希处理,而我的哈希函数只是 (n % 10),那么数字 17 和数字 27 将产生相同的结果。这并不意味着这些数字是相同的。
现在,假设 n%10 是我的散列函数,我的问题是: 如果我按以下顺序输入以下数字,由于它们是按其哈希码排序的,这些数字将如何输出?
数字:10、27、17、38、58、28、43
【问题讨论】:
-
何不试一试?
-
为什么要按哈希码对整数进行排序?
-
10, 43, [27, 17], [38, 58, 28]其中方括号中的数字可以互换位置,具体取决于排序算法的实现细节以及列表中的原始位置 -
@C.B.不完全的。相等的对象必须返回相同的哈希码,但不同的对象也可以返回相同的哈希码。不管你的哈希算法有多好,哈希冲突都是一回事。
-
我很困惑。您是在问java如何对对象进行排序?当其中两个具有相同的哈希码时会发生什么?