set 还是 sort再binary_search解决方法
set 还是 sort再binary_search要在一个文件里找50个字符串,现在方案1.直接C/C++ codesetstring strsstr
set 还是 sort再binary_search
要在一个文件里找50个字符串,现在方案
1.直接
C/C++ codeset<string> strs;strs.find(xxx)
2.
C/C++ code vector<string> strs; sort() //sort strs; binary_search;
请问哪种方案效率高些, 或者还有没有其他方案,求指教
[解决办法]差不多吧,set也是排序,Set底层结构是红黑树。查找会快一些。
[解决办法]如果集合经常性需要增加,删除的话,set更好。
否则sort,bxxx.
[解决办法]具体详细解释需要搬个板凳,瓜子看看EFF_STL TIP 23
[解决办法]用set
[解决办法]这个用set会更慢, 这个还是用AC或者DFA靠谱些 ...
[解决办法]别谈ac自动机吧,用set多好,sort不知你怎么实现查找?是遍历吗?最坏情况要遍历50次。
[解决办法]要在一个文件里找50个字符串
第一次遍历的时候就可以获取到结果了,
为什么你还要装到set或者vct再去查找呢?
[解决办法]如果你用的VS8以上,用unordered_set,O(1)的速度,比set和binary_search都快
[解决办法]qsort
bsearch