求高效字符串查找算法 有一百个字符串常量,给定一个字符串,要求给出这个字符串是否在这一百个常量之内?我目前使用的是最笨的办法,就是一个一个的比较。最近想提高一下效率,我采用hash_map,谁知效率比一个一个比较还要低,不知怎么回事?谁能给出一个高效的算法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 排序 再搜索 或者直接利用map 里面的查找 才100个常量,还不如用在map中用字符串常量做key值,然后用map的find方法去找快。hash_map适合大的数据集吧。小的数据集用个带find方法的stl容器足够了 map也试过,不比一个一个比较快 排序,二分查找用CAtlMap,字符串用CString,很快。微软说是o(1)时间度 100个常量比较一轮,应该是非常快了吧,要改也快不了多少了。或者可以套用一个经典的字符串转整数的hash函数,然后还是要进行字符串转整数,然后整数比较。感觉也快不了多少。主要是比较量太少了。 求助画出一幅数字图象的直方图和旋转90度原代码 wm_ncpaint消息处理 获取本机IP地址 请帮忙看看这个wm_paint中会出现死循环吗? 请问在VC里,事件和消息有何异同,各用于什么场合啊??? 请问bind为什么会出错The socket is already bound to an address 在一个工程中导入了一个类CSerialport,为何在其它类Mydailog中添加这个类的变量不认? 请问sendto(UDP)发送后,能否根据他反回的值来判断对方是否收到呢? 如何强制关闭某个被占用的端口 类型转换,请指点,谢谢 求设计程序 急! 小议系统滚动条换肤技术......
或者直接利用map 里面的查找
用CAtlMap,字符串用CString,很快。微软说是o(1)时间度
或者可以套用一个经典的字符串转整数的hash函数,然后还是要进行字符串转整数,然后整数比较。
感觉也快不了多少。主要是比较量太少了。