数据结构
文章平均质量分 53
johnwayne0317
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
树状数组(单点修改区间查询)
lowbit(重要!) lowbit是用来取出二进制中最低位数的1所代表的二进制的值。 只需要记下代码就行了 int lowbit(int x){ return x&(-x); } add单点修改前缀和 将一个树的最子节点修改,则其父节点也需要更改,父父节点也需要修改。x=x+lowbit(x)就是用来取出其父节点的。 void add(int x,int k){ while(x&...原创 2018-12-09 13:59:35 · 1002 阅读 · 0 评论 -
差分数组
现在有数组a[7] int a[7]; a[0]=1; a[1]=2; a[2]=4; a[3]=5; a[4]=12 a[5]=34; a[6]=123; a[7]=3; 如果要把a[0]-a[4]都加一,最朴素的方法就是 a[0]++; a[1]++; a[2]++; a[3]++; a[4]++; 时间复杂度为O(n) 打字打着都很费力。。。 但是如果先有一个神奇的差分数组d[7],就...原创 2018-12-09 15:36:53 · 2641 阅读 · 3 评论 -
前缀和
编号 a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 b 10 11 12 13 现在要从a数组中截取b数组知道b的和1000000次,而且不能够直接记下b数组的值,要一次一次算,怎么快速求? 这样看也许看不出什么,但是我再画一幅图你就明白了 编号 ...原创 2018-12-09 16:02:55 · 1470 阅读 · 0 评论 -
单向链表与双向链表
单向链表 单向链表的特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点; 列表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向NULL的指针。 双向链表 双向链表的每个数据结点中都有两个指针,分别指向前面的rlink和后面的lli...原创 2018-12-09 20:35:58 · 3039 阅读 · 0 评论 -
树状数组(区间修改单点查询)洛谷:树状数组2
模版和单点修改区间查询差不多 树状数组(单点修改区间查询) https://blog.youkuaiyun.com/johnwayne0317/article/details/84927585 然后用到了差分数组 https://blog.youkuaiyun.com/johnwayne0317/article/details/84928568 代码 #include <bits/stdc++.h> us...原创 2018-12-16 14:49:21 · 294 阅读 · 0 评论 -
求先序排列
题目描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8。 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 输出格式: 1行,表示一棵二叉树的先序。 输入样例1: BADC BDCA 输出样例1: ABCD 解题思路 就是一个先中后序遍历的问题,看代码吧,有标注示。 代码 #include <iostream>...原创 2019-01-05 15:19:59 · 1866 阅读 · 1 评论
分享