
数据结构
WarrenChou_
当你的才华支撑不起你的野心时,只有静下心来好好学习!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线段树详解
1.什么是线段树 线段树是一颗完全二叉树,树上的每个节点都维护一个区间。根维护的是整个区间,每个节点维护的是父亲的区间二等分后的其中一个子区间。当有n个元素时,对区间的操作可以在O(logn)的时间内完成。 根据节点中维护的数据不同的不同,线段树可以提供不同的功能,如RMQ、RSQ等。 对于数组[2, 5, 1, 4, 9, 3]可以构造如下的二叉树(背景为白色表示叶子节点,非叶子节点的值是其对应...原创 2019-09-25 22:41:58 · 716 阅读 · 0 评论 -
并查集
来自《挑战程序设计竞赛》原创 2019-09-08 10:29:21 · 780 阅读 · 0 评论 -
树状数组
1.什么是树状数组 树状数组(Binary Indexed Tree,BIT)是能够完成下述操作的数据结构。 给一个初始值全为0的数列a1,a2,···,an 给定i,计算a1+a2+···+ai 给定i和x,执行ai+=x 2.BIT的结构 如图,其中A为普通数组,C为树状数组(C在物理空间上和A一样都是连续存储的)。 从图中可以得出: C1 = A1 C2 = C1 + A2 = A...原创 2019-09-27 15:46:11 · 641 阅读 · 0 评论