所以假设我有这样的事情:
struct equity{ ///keep in hash table
long long numSharesTraded;
list<order> buyList;
list<order> sellList; //put in priority queue
};
如果我想在buyList或sellList中插入一些东西,我是否有必要检查并查看我应该添加到的特定权益在哈希表中的哪个位置?......所以我最终得到了类似的东西:
map[i].equity.buyList.push_back(orderI'mPushing);
?
还是有另一种方法可以让我不必每次都搜索它?据我了解,搜索特定股权的平均时间是恒定的( O(n) 最坏情况),但如果可能的话,我想摆脱这种搜索......
所以 1) 有没有办法在不搜索的情况下添加到列表中,以查看该权益是否每次都已经在哈希表中,以及 2) 如果我每次都必须搜索,这会导致运行时间大大延长吗?
提前致谢