算法笔记 - 树状数组 (Fenwick tree)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法笔记 - 树状数组 (Fenwick tree)相关的知识,希望对你有一定的参考价值。
参考技术A对于一个长度为N数组array
lowbit函数 的作用是找到数字二进制的最后一个数字1。举例
加上lowbit数值 的作用,是找到最近的父亲节点。在修改点 的数值是,父亲的寻找过程是:
减去lowbit的数值 的作用,是找到每一个需要被统计的子树的根节点。 是上图红色标志的路线。对于 的数值,分别有三个子树需要被计算进来
C语言实现,来自维基百科。但是这里我修改了一点点,size放大了1, 更方便理解。数值的存储是
leetcode 的 683 - k-empty-slots 可以使用树状数组实现
以上是关于算法笔记 - 树状数组 (Fenwick tree)的主要内容,如果未能解决你的问题,请参考以下文章
Fenwick Tree / Binary Indexed Tree (树状数组)的学习
高级数据结构之Fenwick Tree(Binary Indexed Tree)