这是我在这里的第一篇文章,所以请多多包涵:-)。
问题背景:我有多个表单的文本文件:
<ticker>,<date>,<open>,<high>,<low>,<close>,<vol>
A,20120904 0926,37.14,37.14,37.14,37.14,693
.
.
.
ZZ,20120904 1602,1.6,1.6,1.6,1.6,11771
正如您可能已经猜到的那样,它是股票价格。当我将它加载到 matlab 时,它会创建一个结构,其中包含一个数组(数值)和一个单元格(用于字符串),此时我可以使用它。问题:
我想找到在数组中搜索特定符号(~70K 行)的最有效方法。虽然进行简单或减半搜索很容易,但我认为这些方法对于提取给定符号/字符串的开始和结束索引的多个文件和/或多个搜索不是很有用。我在这里查看了过去的帖子并阅读了有关 Rabin-Karp、Bitap 和哈希表的信息,但我不确定它们中的任何一个都能完全满足我的需求。
到目前为止,我倾向于通过单元格运行一次并为每个字母(即“A”、“B”等)创建一个哈希表,然后运行一个简单的搜索或您可能建议的任何其他内容:-)。散列的原因是我可能使用同一个文件来查找不同的股票代码,所以我认为运行一次并标记字母从长远来看会降低复杂性。
你对此事有何看法?我在正确的方向吗?我正在使用matlab顺便说一句。
谢谢