二叉树的遍历和线索二叉树 递归遍历 先序遍历 中序遍历 后序遍历 非递归遍历 先序遍历非递归算法 中序遍历非递归算法 后序遍历非递归算法 后序非递归遍历二叉树的顺序是先访问左子树,再访问右子树,最后访问根结点。 当用堆栈来存储结点时,必须分清楚返回根结点时是从左子树返回还是从右子树返回的。 所以,使 ...
分类:
其他好文 时间:
2019-09-12 00:02:17
阅读次数:
100
当测试增删接口时,经常返回信息提示:{"success":false,"errorCode":3003,"errorMsg":"您尚未登录或回会话已失效"} 此时,我们可以跳过登录接口,将登录的Request Headers写在HTTP信息投管理器中,如下图。 添加方法:线程组-添加-配置元件-HT ...
分类:
其他好文 时间:
2019-09-09 14:35:46
阅读次数:
208
目录: 1.重排序场景 2.追根溯源 3.缓存一致性协议 4.重排序原因 一、重排序场景 当两个线程 A 和 B,A 首先执行writer() 方法,随后 B 线程接着执行 reader() 方法。线程B在执行操作4时,能否看到线程 A 在操作1对共享变量 a 的写入? 答案是:不一定能看到。 由于 ...
分类:
编程语言 时间:
2019-09-07 10:25:49
阅读次数:
403
高并发多线程插入数据写法示例 使用方法 线程执行类 到此项目结束, 之前因为不太会用多线程,总感觉会出现问题,不敢用,其实用多了,考虑周全也没什么问题, 而且效率还会大大提升。 ...
分类:
编程语言 时间:
2019-09-06 23:00:52
阅读次数:
117
"P2023 [AHOI2009]维护序列" 指定一个区间 加上或者乘以 V, 查询一个区间所有元素和%P 与纯加法线段树不同的是,lazy_tag 的传递 (x + y) v = x v + y v。 所以每次乘法,都要把加法的lazy_tag v 而加法与加法线段树的操作一样 c++ inclu ...
分类:
其他好文 时间:
2019-09-06 13:10:44
阅读次数:
88
除法 "201709 5" 这道题有很多种方法来做,最常用的就是线段树和树状数组。 如果使用线段树来做,就会想到区间修改的update函数。但是这里可能会涉及到v是1或者a[j]是0的情况,所以用这种方法会超时,最多50分。 可以修改一下代码,使用点修改来做这道题。在main函数里面增加一个循环,用 ...
分类:
其他好文 时间:
2019-09-04 09:21:33
阅读次数:
73
题意 经典的 约瑟夫问题 $n$个人标号为$0...n 1$排成一圈,由第$0$个人开始报数,报到$k$的人~~去世~~ 求最后一个活下来的人是谁 解法 解法$0$:模拟算法$O(n^2)$ 链表模拟删除即可 入门题 解法$1$:线性算法$O(n)$ cpp int res = 0; for (in ...
分类:
其他好文 时间:
2019-09-02 14:06:22
阅读次数:
69
先解释两个概念。 等待池:假设一个线程A调用了某个对象的wait()方法,线程A就会释放该对象的锁后,进入到了该对象的等待池,等待池中的线程不会去竞争该对象的锁。 锁池:只有获取了对象的锁,线程才能执行对象的 synchronized 代码,对象的锁每次只有一个线程可以获得,其他线程只能在锁池中等待 ...
分类:
其他好文 时间:
2019-09-01 12:42:19
阅读次数:
100
并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务。 而Java并发则由多线程实现的。 在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中。(当然这是比较笼统的说法,线程之间是可以交互的,他们也不一定是串行。) 多线程的存在就是压榨cpu,提高程序性能 ...
分类:
编程语言 时间:
2019-08-24 15:17:55
阅读次数:
66
ST表类似树状数组,线段树这两种算法,是一种用于解决区间最值查询问题的离线算法。与线段树相比,预处理复杂度同为O(nlogn),但查询复杂度ST表为O(1),比线段树查询O(lgN)小,但就不涉及修改的区间查询而言,ST表无疑是更好的选择。 ST表主体,即st[i][j],表示数据数组a[ ]从下标 ...
分类:
其他好文 时间:
2019-08-23 00:09:44
阅读次数:
80