1、代码2、运行结果1、代码 stack.cpp#include #include class ClsStack{ private : void ** __m_Data; int __m_pos; size_t __m_memsize; ...
分类:
编程语言 时间:
2015-06-01 00:38:12
阅读次数:
193
算法概述图的遍历是指访问图中每个节点一次。图的遍历方式主要有两种,一种是深度优先,即能走多远就先走多远的遍历方式,这就意味着,对于每个节点的遍历完后,下一个访问的节点应该是他的邻接点,而不是兄弟节点。另一种方式是深度优先的方式,这是一种分层遍历,对于没一个节点访问完后,就访问它的兄弟节点,而不是优先考虑邻接顶点。深度优先算法使用递归实现比较直观,而广度优先遍历则需要一个栈辅助,和分层遍历一棵二叉树的...
分类:
其他好文 时间:
2015-05-30 12:16:38
阅读次数:
206
这几日又把二叉树的递归写了一遍,原来是用C写的,自己写了一个栈,这一次直接用的C++,使用了自带的栈结构。代码如下: 1 /************************************************************************* 2 > Au...
分类:
其他好文 时间:
2015-05-24 00:03:30
阅读次数:
172
题目大意:给定A,B两种字符串,问他们当中的长度大于k的公共子串的个数有多少个这道题目本身理解不难,将两个字符串合并后求出它的后缀数组然后利用后缀数组求解答案这里一开始看题解说要用栈的思想,觉得很麻烦就不做了,后来在比赛中又遇到就后悔了,到今天看了很久才算看懂首先建一个栈,从栈底到栈顶都保证是单调....
分类:
编程语言 时间:
2015-05-20 02:07:38
阅读次数:
182
递归的程序其实我觉得可读性较高 但是执行效率低下为了做一道PAT的题 去理解了下非递归实现树的遍历用一个栈来实现先序遍历先访问节点 再把节点push进栈 再访问 再push 直到next=NULL然后pop出一个节点 也就是弹出一个节点 访问它的右边 再弹出 在访问中序遍历把左边节点全部push进栈...
分类:
编程语言 时间:
2015-05-20 00:26:32
阅读次数:
163
Akka支持在运行时对角色消息循环 (例如它的的实现)进行实时替换: 在角色中调用getContext.become 方法。 热替换的代码被存在一个栈中,可以被pushed(replacing 或 adding 在顶部)和popped。
become一个特别好的例子是用它来实现一个有限状态机。
使用Become/Unbecome特性还可以很方便的实现状态转换机。
1.动态替换方法
im...
分类:
其他好文 时间:
2015-05-18 22:58:30
阅读次数:
171
递归就是函数间接的调用自己, 它的实现基于函数参数传递的栈机制, 每次递归递归调用都会多一个栈帧——和简单的函数调用并没有什么不同 (都是使用了调用栈)。调用自己和调用其它函数并没有本质的区别, 都是建立新栈帧, 传递参数并修改当前代码行。在函数体执行完毕后删除栈帧, 处理返回值并修改当前代码行。....
分类:
其他好文 时间:
2015-05-17 21:39:51
阅读次数:
132
JVM对象访问解析
对象访问过程的内存情况
public void function(){
Object obj = new Object();
}function方法被执行的时候,JVM在JVM栈中为function创建一个栈帧,用于存放function在运行过程中的一些信息。
Object obj被执行时,JVM在function方法对应的栈帧中的本地变量表中创建Object类型的引用...
分类:
其他好文 时间:
2015-05-15 09:09:43
阅读次数:
177
括号匹配判断,关键思想:利用一个栈来保存前括号,然后有后括号来时弹出栈顶来判断。
分类:
其他好文 时间:
2015-05-14 20:15:48
阅读次数:
167
通过一个例子,简要证明一下单调栈 。 poj2796
单调栈 就是维护一个栈使这个栈里面的元素是单调递增还是单调递减的!!!
那么用一个题目来理解一下他的原理。
这个题的意思就是说在一个[L,R]区间内,存在一个最小的数,其余的数都比它大。然后求max(这个区间的和*最小的数)。
首先维护一个单调递增的栈。设处在当前栈顶的元素为x,扫面到的当前元素为i,那么首先可以判断的...
分类:
其他好文 时间:
2015-05-12 00:16:15
阅读次数:
102