【问题标题】:Why algorithm perfomance get worst with HashSet.add?为什么 HashSet.add 的算法性能会变差?
【发布时间】:2016-05-21 03:09:25
【问题描述】:

我正在使用一种算法,该算法必须读取包含 100 万行的文件并存储有关该文件的一些信息。我发现了 HashSet 结构,它可以在 O(1) 性能中添加、删除和查找任何数据。但是,当我使用将数据添加到 HashSet 的行执行算法时,算法执行时间变成了最差的 4 倍以上。 HashSet 插入太多数据时性能变差?

【问题讨论】:

  • O(1) 重复 10000000 次与 O(1) 重复一次不一样

标签: hashset


【解决方案1】:

不同的 HashSet 实现在性能上可能会有所不同。首先,需要某种树或一组桶,两者都有其自身的性能成本。从理论上讲,哈希数据结构很快,但实际情况可能大不相同。即使 O(1) 也意味着执行时间与元素数量无关,但并不意味着它是免费的或快速的。

【讨论】:

    猜你喜欢
    • 2015-06-04
    • 2020-01-01
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 2022-11-10
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多