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优先队列图前缀树线段树树状树组的主要内容,如果未能解决你的问题,请参考以下文章