2010-02-21 652 views

回答

2

Hash tables非常常用于此。使用N分箱和采用每个符号中的字母总和(模N)的散列函数的简单实现在插入和搜索时应该非常接近O(1)。

+1

散列函数你的建议是很坏的哈希函数的复杂性,它使所有字谜碰撞。系统散列函数会更好(如果OP最喜欢的语言中有一个)。 – 2010-02-21 23:01:33

+1

我将不得不找出一个更好的散列函数来使用,但散列表似乎是符号表的方式。 – adhanlon 2010-02-21 23:04:57

+0

任何人都知道标准模板库的SET容器如何以符号表的形式执行? – adhanlon 2010-02-21 23:14:37

1

关于散列表查找 - 只有在没有或几个冲突发生时才是O(1) - 所以假设您有适当的散列函数,它通常是O(1),但在最糟糕的情况下,它可能会以O(N )。对数据大小的良好估计至关重要。

而且你还要考虑时间,你打算使用

相关问题