散列 n 个键可能导致的最大冲突次数是多少?

What is the maximum number of collisions that may result from hashing n keys?

是n还是n-1?在我看来,我认为它应该是 b n-1,因为您插入的第一个项目不会与之发生碰撞,而您插入的任何其他项目都可能与它之前的所有项目发生碰撞,但不会与它本身发生碰撞。我这样想对吗?

如果你有一个空集,就很难解释你放入的第一个项目是如何成功地与其他东西发生碰撞的。也就是说,如果您考虑一个冲突列表(具有相同散列的项目),您会看到它包含 M 个相互冲突的项目。因此,您在插入项目时确实有 N-1 个碰撞,但是 N 个碰撞项目,因为其中 none 个是 "right" 个。