ios 开发

映射、集合与优先级队列

2023-02-12  本文已影响0人  iOS小洁

集合(set)

集合的特点:

映射/字典(dictionary/Map)

Map 的每一个 key 是唯一的

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

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

优先级队列(Priority Queue)

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读