C++ STL中常见容器的时间复杂度

本文对比了STL中基于红黑树实现的map、set、multimap、multiset与基于哈希表实现的hash_map、hash_set、hash_multimap、hash_multiset在插入、查看、删除操作上的时间复杂度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

map, set, multimap, and multiset

上述四种容器采用红黑树实现,红黑树是平衡二叉树的一种。不同操作的时间复杂度近似为:

 

插入: O(logN)

查看:O(logN)

删除:O(logN)

 

hash_map, hash_set, hash_multimap, and hash_multiset

上述四种容器采用哈希表实现,不同操作的时间复杂度为:

 

插入:O(1),最坏情况O(N)。

 

查看:O(1),最坏情况O(N)。

 

删除:O(1),最坏情况O(N)。

--------------------- 作者:ShenYounger 来源:优快云 原文:https://blog.youkuaiyun.com/wusecaiyun/article/details/46723363?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/flyflyrubber/p/9768890.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值