我正在使用一种算法,该算法必须读取包含100万行的文件并存储有关此文件的一些信息。我找到了HashSet结构,它添加,删除并找到O(1)性能中的任何数据。但是,当我使用将数据添加到HashSet中的行执行算法时,算法执行时间变得超过4倍。当我们向其插入太多数据时,HashSet性能变得最差?
答案 0 :(得分:1)
不同的HashSet实现可能会因性能而异。首先,需要某种树或一组桶,它们都有自己的性能成本。理论上哈希数据结构很快,但现实可能会有很大不同。即使O(1)意味着执行时间与元素数量无关,但并不意味着它是自由或快速的。