匹配數據的最高效數據結構是什麼?例如,假設我提出與後續的情景:數據匹配的高效數據結構
<time available> <buy or sell> <company name> <buy or sell price> <amount to buy or sell>
所以,一個文件可能包含:
0 sell yahoo $100 #1
2 sell yahoo $14 #1
2 sell yahoo $28 #1
.. 95 other yahoo sells <$125 and amount #1
3 sell yahoo $17 #1
5 sell yahoo $33 #1
9 buy yahoo $125 #100
是否有可能這最後買與前100搭配銷售的爲O(n )時間,其中n = 100,如果購買與其想要購買的公司相對應的最低銷售價格相匹配(或者配對時排在第一位)。
我知道一個天真的解決方案將排序列表,並按順序,但這需要比O(n)時間更長。處理這個問題和類似的問題最有效的數據結構是什麼?
你能對你想要做的更具體嗎?也就是說,你能否明確說明你希望能夠支持哪些操作以及(相對而言)他們發生的頻率? – templatetypedef 2013-03-24 20:15:47
如果您反轉您的初始想法,假設您保留一個有序的銷售價格清單,您的插入將增加到O(log n),但您可以在O(1) – Alexander 2013-03-24 21:53:14