2优先队列图前缀树线段树树状树组

Posted feihu-h

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2优先队列图前缀树线段树树状树组相关的知识,希望对你有一定的参考价值。

1、优先队列

每次取出的元素是队列中优先级(自定义)最高的

常用场景:按一定的规则顺序筛选数据

本质结构:二叉堆(可利用数组结构来实现完全二叉树)

特性:

第一个元素array[0]优先级最高

下表i,对于元素array[i]:

            父节点,下标为 (i-1)/2

            左孩子,2*i+1

            右孩子,2*i+2

            数组中每个节点的优先级高于两侧子节点

技术图片

 

基本操作:

向上筛选:新数据加入、先放到堆底部、不断的和父节点比较交换、反复、o(logK)

向下筛选:删除堆顶数据数据、将堆底部的元素放到堆顶、和两个孩子对比看哪个优先级最高交换、反复、o(logK)

优先队列的初始换:

O(n): o(1log1  +2log2 .......)

一些问题:

347. 前 K 个高频元素

以上是关于2优先队列图前缀树线段树树状树组的主要内容,如果未能解决你的问题,请参考以下文章

高级数据结构:优先队列图前缀树分段树以及树状数组详解

算法分类合集

优先队列 + 并查集 + 字典树 + 树状数组 + 线段树 + 线段树点更新 + KMP +AC自动机 + 扫描线

算法分类合集(转)

算法分类合集(转)