• (四)容器探索:关联容器


    关联容器的查找和插入都很快,类似于数据库,通过key来查找value;底层通过红黑树和hast table来支持。

    一、红黑树

         1、按照key来排序

    二、set/multiset

      1、key即value,所以不允许修改值

        2、将迭代器设置为const,来阻止修改其值;

      3、set的操作,都交给了红黑树来完成,更像是容器的适配器(如同stack,queue,操作都交给deque);

    三、map/multimap

      1、插入即排序,不可以改变key,可以改变value

      2、将key和value包成pair,并将key设置为const,从而阻止修改;

     

     四、hashtable

      1、关联容器的另一个分支。每个bucket下有一个链表,当元素个数大于bucket数时(可能会使链表过长,不利于查询),重新分配bucket:

    一般二倍附近原bucket数(最接近的素数)。

      2、有的hashtable需要自己设计hash function,参考如下的特化版本

    五、 unordered容器

      底层为hash table

  • 相关阅读:
    python中 __new__和__init__
    生成器
    边缘与轮廓
    霍夫变换
    高级滤波
    基本形态学滤波
    基本图形的绘制(基于skimage)
    图像的自动阈值分割
    图像的简单滤波
    直方图与均衡化
  • 原文地址:https://www.cnblogs.com/573177885qq/p/10192382.html
Copyright © 2020-2023  润新知