美文网首页ios 开发
映射、集合与优先级队列

映射、集合与优先级队列

作者: iOS小洁 | 来源:发表于2023-02-12 10:04 被阅读0次

    集合(set)

    集合的特点:

    • 不存放重复的元素
    • 常用于去重(存放新增 IP,统计新增 IP 量 存放词汇,统计词汇量)

    映射/字典(dictionary/Map)

    Map 的每一个 key 是唯一的

    类似 Set,Map 可以直接利用之前学习的链表、二叉搜索树(AVL树、红黑树)等数据结构来实现

    Map 的所有 key 组合在一起,其实就是一个 Set.Set 可以间接利用 Map 来作内部实现

    优先级队列(Priority Queue)

    普通的队列是 FIFO 原则,也就是先进先出

    优先级队列则是按照优先级高低进行出队,比如将优先级最高的元素作为队头优先出队

    根据优先队列的特点,很容易想到:可以直接利用二叉堆作为优先队列的底层实现

    可以通过 Comparator 或 Comparable 去自定义优先级高低

    相关文章

      网友评论

        本文标题:映射、集合与优先级队列

        本文链接:https://www.haomeiwen.com/subject/vkqdkdtx.html