【发布时间】:2014-06-01 12:22:53
【问题描述】:
为什么使用哈希表搜索数据更快?因为哈希函数将字符串键转换为整数键,但整数可以排序使搜索更快?
例如我有关联数组:
array
(
[str.key1] => value1
[str.key2] => value2
[str.key3] => value3
[str.key4] => value4
);
所以要使用str.key3找到value3,需要遍历所有的str.key进行比较,因此搜索的复杂度为O(n)。但是,如果我对每个 str.key 进行哈希处理,我会收到数字:
array
(
[5] => value1
[2] => value2
[7] => value3
[3] => value4
);
然后进行排序:
array
(
[2] => value1
[3] => value2
[5] => value3
[7] => value4
);
因此可以更快地找到价值。我理解正确吗?
【问题讨论】:
标签: hashtable