快速查找长数组中的字符串

时间:2015-01-11 16:48:46

标签: ruby arrays performance hash

我有一个非常长的数组(约200万)字符串(书籍的ISBN)。

我正在解析添加到现有库的XML文件。我没有在XML文件中的每本书上点击数据库,而是将现有的ISBN库加载到一个数组中。

如果找到新的ISBN,我会创建一个新书模型。如果已存在ISBN,我会更新该标题的列。

目前使用索引从XML文件中查找每个ISBN

array.index(ISBN)

我还尝试将数组转换为ISBN键的哈希值,并且速度要快一些。

hash[ISBN]

更快地进行查找的想法?数组和哈希方法分别给我大约15和20次检查。

1 个答案:

答案 0 :(得分:0)

我认为哈希查找是你能获得的最快速度。其计算复杂度就大小而言是恒定的。如果这还不够快,那么代码的其他部分应该出现问题。