🚀 优质资源分享 🚀
| 学习路线指引(点击解锁) | 知识定位 | 人群定位 |
|---|---|---|
| 🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
| 💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
概念:
定义:
树状数组是一种结合了树的思想,常用来处理前缀问题(如前缀最大/最小值,前缀和)的一种数据结构,区查和单修时间复杂度都为 log(n)。


(右图括号中的值表示原序列中该数的值,未打括号的表示下标)
这一张图可以很好地展示一维树状数组的结构及其维护信息的原理。令该树状数组为 bit,c 为数组的前缀和,容易发现,c[1]=bit[1] c[2]=bit[2]c[3]=bit[2]+bit[3]… c[7]=bit

本文介绍了树状数组这种数据结构,主要用于处理前缀问题,具有单修区查、区修单查和区修区查等操作,时间复杂度为O(logn)。详细讲解了一维树状数组的单修和区查,以及二维树状数组的实现,并提供了相关操作的代码示例。文章还讨论了lowbit的概念及其在树状数组中的应用。
1724

被折叠的 条评论
为什么被折叠?



