2012-11-08 38 views
1

這是我的第一篇文章,所以請耐心等待:-)。搜索字符串在單元格高效的方式

問題背景: 我有形式的多個文本文件:

<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 btw。

謝謝

回答

0

您可以將所有的代碼存儲在結構數組中。每列都是一個屬性。假設你有非空值,你可以做到以下幾點,

tickers = [S.tickers]; 
dates = [S.date]; 

你可以輕鬆地查詢,讓你從你的結構數組S.您可以更進一步,指數行情的股票名稱想要的指數,由創建一個以股票名稱作爲關鍵字的索引。

相關問題