随笔分类 -  初级数据结构详解

摘要:树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)。这种数据结构(算法)并没有C++和Java的库支持,需要自己手动实现。在Competitive Programming的竞赛中被广泛的使用。树状数组和线段树很像,但能用树状数组解决的问题,基本上都能用线段树解决,而线段树能解决的树状数组不一定能解决。相比较而言,树状数组效率要高很多。 阅读全文
posted @ 2019-10-08 18:25 lqxssf 阅读(276) 评论(0) 推荐(0)
摘要: 并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 阅读全文
posted @ 2019-09-18 19:35 lqxssf 阅读(579) 评论(4) 推荐(2)
摘要:Hello,World. 阅读全文
posted @ 2019-09-15 20:01 lqxssf 阅读(200) 评论(1) 推荐(0)