【C++】数据结构
文章平均质量分 62
去啥名字?
开学了,更新速度会慢一些
展开
-
【C++】栈
C++的栈(Stack)是一种用于存储和访问数据的数据结构。它是一种先进后出(Last In First Out,LIFO)的数据结构。原创 2024-02-19 11:30:00 · 806 阅读 · 0 评论 -
【C++】并查集
并查集(Disjoint Set)是一种常见的数据结构,用于处理不相交集合的合并与查询问题。在C++中,可以通过实现一个并查集类来使用并查集的功能。原创 2024-02-18 08:40:15 · 574 阅读 · 0 评论 -
【C++】线段树(一)
回到刚才的问题,如果有一种结构能贮存所有x到y的和,当问的时候直接调用就好了。于是我就想到了二叉树,比如一个{1,2,3,4,5,6,7,8,9}的序列根节点用来储存1~9左子树右子树分别贮存1~5和5~9,以此类推(如下图)。在没学线段树之前,我们首先想到的肯定是遍历第x到第y个数,再把它们的和相加。一个有n个数的序列,进行q次提问:第x到第y个数字(包括x,y)的总和。右子节点为2k+1,所以在最坏情况下一维数组的大小是序列的4倍。但n,q大于一定范围就会超时。用递归遍历树,返回总和。原创 2024-02-15 20:29:38 · 629 阅读 · 2 评论 -
【C++】线段树(二)
以上内容和【C++】线段树(一)是线段树的全部内容,最后附上一开始这一题的代码。return;if(!Lazy[k]=0;Lazy[k]++;return;return sum;cin>>n>>q;i原创 2024-02-16 15:54:35 · 536 阅读 · 0 评论