我有一组对象(最多500个)。
我的参赛作品将根据类似MAC的密钥进行查询,其范围未知。
现在,我对哪种数据结构和算法用于有效查找值感到困惑。
我不确定是否要为这种情况寻求平衡的BST(AVL)或散列表。
500个密钥是否很小,可用于构建哈希表?
在我的案例中,最好的方法是什么?
我读到computing hash might prove costly when the number of keys is less
另外,我还想知道考虑哈希表需要出现多少条目(分钟)?
如果需要进一步的详细信息,请添加评论。
提前致谢。
答案 0 :(得分:2)
以下是Hash结构的一些好处,
虽然这些属性是有益的,但在某些情况下哈希表可能会表现不佳。
在你的情况下,如果哈希算法不是太复杂,那么你肯定可以使用哈希表,因为你只有500个对象。如果您具有查找密集型工作流,则哈希表可以节省大量时间。如果您的数据几乎是静态的,那么不要担心初始加载时间,因为您的查找时间会快得多。
您还可以查看另一个对于较少值的值有效的DS,例如哈希集,AVL树,哈希树。对于500个对象,时间差异将是线性搜索和散列搜索中的毫秒或微秒差异。因此你不会达到很多。改进。因此,寻找容易性和可读性。