我们为什么以及在哪里使用哈希?

nik*_*yas 2 java

为什么我们使用哈希进行搜索?在二叉搜索树上使用散列有什么好处?

Nic*_*ick 5

散列通常是恒定时间操作,而二叉树具有对数时间复杂度.

因为散列不是基于要搜索的集合中,但关于该项目的项目的数量来计算集合的大小上有需要找到一个项目的时间没有关系.然而,大多数散列算法会产生冲突,从而增加了时间复杂度,因此不太可能获得完美的恒定时间查找.

使用二叉树,您必须在找到项目之前进行log2N比较.