哈希 table 和链接方法
Hash table and chaining method
在我的哈希 table 中,每个列表都经过排序(链接方法)。
1.How 这将影响搜索现有密钥的 运行 时间
2.How 这会影响 运行 查找丢失密钥的时间吗?
3.How是否会影响增删key的查找时间?
1.How 这将影响 运行 搜索现有密钥的时间。
没那么多,因为碰撞很少发生。
其中N是你的散列大小table,M是碰撞次数
M通常太小(从0-50),所以速度变化不大
万一M太大接近N,在这种情况下,我们的哈希算法不好,应该改进。
如果你有一个糟糕的散列算法,那么最坏的情况 M=N,所以你有一个复杂度为 O(Log N) 的二进制搜索。
散列的好处table被破坏了。退化 O(1) -> O(Log N)
所以无论如何我们都应该避免它。
2.How 这将影响 运行 搜索丢失密钥的时间。
与1相同的答案。M通常很小,如果不是,请重写您的哈希算法。
在我的哈希 table 中,每个列表都经过排序(链接方法)。 1.How 这将影响搜索现有密钥的 运行 时间 2.How 这会影响 运行 查找丢失密钥的时间吗? 3.How是否会影响增删key的查找时间?
1.How 这将影响 运行 搜索现有密钥的时间。
没那么多,因为碰撞很少发生。
其中N是你的散列大小table,M是碰撞次数
M通常太小(从0-50),所以速度变化不大
万一M太大接近N,在这种情况下,我们的哈希算法不好,应该改进。
如果你有一个糟糕的散列算法,那么最坏的情况 M=N,所以你有一个复杂度为 O(Log N) 的二进制搜索。
散列的好处table被破坏了。退化 O(1) -> O(Log N)
所以无论如何我们都应该避免它。
2.How 这将影响 运行 搜索丢失密钥的时间。
与1相同的答案。M通常很小,如果不是,请重写您的哈希算法。