极光 · 高级结构 · map 红黑树

本文探讨了C++中map的本质——红黑树(RBT),指出map提供自动排序的键值对,并分析了map在内存占用和操作效率上的特点。相较于其他数据结构,红黑树在插入和删除操作上具有较好的性能,但查找速度略逊于AVL树和哈希表。同时,文章强调了在使用map时,如需删除或查找元素,应借助迭代器来操作。
摘要由CSDN通过智能技术生成

map:本质是红黑树

    先进性:自动对key进行排序(有点优先队列的意思?)
    缺点:内存占用较大
map亦是唯一对应关系,所以cocunt只会是0或1
    一对多映射需要采用multmap?、

科研部研究显示    map是【关联容器】
    对于erase;,del或不可用±int 来划定范围
        需要使用迭代器方法(指针移动)
    对于find:查找成功返回迭代器,查找失败返回end位置
        需要判断是不是=end


红黑树 RBT

        (不严格的)二叉平衡查找树(相对平衡)
        此处的平衡不是AVL的平衡,而是总体性能上的相对平衡
优点:高度趋近logn,使得树上各种操作时间性能接近logn
    对需要频繁【插入/删除】的数据集合处理更有优势
缺点:查找性能不如AVL,远不如 哈希表,不过也接近logn

性质:
    1.根节点是黑色的;
    2.每个叶子节点都是黑色的空节点(null)(叶子结点不存数据)
    3.任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的
    4.每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点;


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

影月丶暮风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值