【C++】boost库中的unordered_map和unordered_set

unordered_map和unordered_set是C11中新增的类型,特性与STL 中的map和set特性一样,但是底层不是用红黑树实现的,而是用哈希表来实现的,因此不再实现对容器中元素排序的功能。

下面这段话引用自:
http://blog.csdn.net/truexf/article/details/17303263

哈希表存储元素的查找效率不太稳定,取决于所使用的哈希算法。不同的元素数量,不同的哈希算法都对性能有很大的影响。

不同的操作系统,不同的运行库,虚拟内存管理算法,以及运行库的malloc和free的内部实现都是有差异的。如何找出最有效率的使用标准库容器的方式,一定要结合这一点进行大量的测试才能得出。

有一点可以确认的是:各个标准库的实现,已经是在遵循c++标准的基础上,在性能和适用性上可以说做到了极致。因此很多人总想自己造重复的轮子是大可不必。理解好各种容器的实现原理,再结合实际应用的需求,选择合适的容器,以及容器的使用方式,才是上上之策。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值