随便玩了玩unordered_map

  因为Thor这几天与hash冲突做着不懈的斗争……于是我闲来无事查了下STL里的hash,没想到发现了这个东东……

  首先,NExPlain在这篇文章里已经研究过hash_map了,所以我就试了下unordered_map,鉴于之前的文章里说hash_map是gnu提供的,而unordered_map是C++ tr1扩展,作为hash_map的替代产品而出现的它速度似乎快上不少,所以还是对它寄予了一定的期望的……因为hash_map的头文件真是太长了……

#ifdef __GNUC__
#include<ext/hash_map>
#else
#include<hash_map>
#endif
using namespace __gnu_cxx;

  你看这货谁看谁不烦……

  不过似乎unordered_map也没好多少……

#ifdef __GXX_EXPERIMENTAL_CXX0X__
#include<unordered_map>
#else
#include<tr1/unordered_map>
#endif
using namespace std::tr1;

  好吧,用这些神奇的东西果然是要付出代价的……

  于是拿这次上机这道题做了个小试验,map只能拿到0.8分不用说了,改写成hash_map之后还是0.8分……不过第二组数据快了近一倍;再改成unordered_map,竟然满分到手……第二组数据几无差别,但第三组数据跑进2s还是很销魂的……鉴于位运算的做法第三组数据都跑了1s,这货有潜力,看好你!

  以后还会研究一些诸如hashtable之类的东西……嗯以后就跟数据结构混了,兴许还要玩玩boost库呢……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值