码迷,mamicode.com
首页 >  
搜索关键字:一个栈    ( 1020个结果
Kosaraju两次深搜实现强连通分量
Kosaraju两次深搜实现强连通分量 kosaraju算法进行两次dfs,第一次在原图上进行,并在结点递归调用返回时将结点压入一个栈中,第二次dfs在原图的逆图上进行,并且初始点选择栈中最上面的点,每次dfs所访问的点构成一个强连通分量。 第一次看kosaraju算法的时候,我很不解,为什么第二次 ...
分类:其他好文   时间:2018-08-30 13:43:03    阅读次数:147
用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 首先要明确栈和队列的特性,栈是后入先出的数据类型,队列是先进先出的数据类型,那么就可以用两个栈,一个存储新的push进队列的数据,另一个栈用来pop出队头的数据,push很简单,直接利用栈的特性ap ...
分类:其他好文   时间:2018-08-30 02:03:42    阅读次数:136
HDU 1023(卡特兰数 数学)
题意是求一列连续升序的数经过一个栈之后能变成的不同顺序的数目。 开始时依然摸不着头脑,借鉴了别人的博客之后,才知道这是卡特兰数,卡特兰数的计算公式是:a( n ) = ( ( 4*n-2 ) / ( n+1 ) * a( n-1 ) ); 用一个二维数组,a[ i ][ 0 ] 表示第 i 个卡特兰 ...
分类:其他好文   时间:2018-08-25 14:27:11    阅读次数:142
【leetcode 简单】 第六十六题 用栈实现队列
使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。 示例: MyQueue queue = new MyQueue(); queue.push(1); ...
分类:其他好文   时间:2018-08-24 02:02:43    阅读次数:181
Tarjan求点双连通分量
概述 在一个无向图中,若任意两点间至少存在两条“点不重复”的路径,则说这个图是点双连通的(简称双连通,biconnected) 在一个无向图中,点双连通的极大子图称为点双连通分量(简称双连通分量,Biconnected Component,BCC) 性质 算法 在Tarjan过程中维护一个栈,每次T ...
分类:其他好文   时间:2018-08-24 00:37:12    阅读次数:860
LeetCode 232. Implement Queue using Stacks
方法一:利用两个栈,每次push都利用另一个栈倒一遍。其中push O(n) 方法二:同样是利用两个栈,但是不同于上一种方法每次push都要倒一次。两个栈记作in和out,out顺序与queue一致。每次push都放到in中,需要pop的时候才把in倒到out中执行。相当于in作为一个缓存,out没 ...
分类:其他好文   时间:2018-08-22 22:54:09    阅读次数:300
数据结构之栈
一、栈 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉, ...
分类:其他好文   时间:2018-08-22 22:03:34    阅读次数:217
JVM虚拟机详解
1、 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 J ...
分类:其他好文   时间:2018-08-20 20:16:15    阅读次数:186
8.19总结今日
今天打到一半网站崩了,所以没能继续打,话说开火车好烦hhh 开火车D题 题意: 有一个n*m的矩阵,上面一共有k*k个蛋糕,让你横向纵向都切k-1刀,问能不能存在一种切法使得切完的所有区域都正好只剩一个蛋糕,如果有,输出切的位置 解法: 由于横竖切互不影响,所以我们分开考虑这两部分,先算出每一行(列 ...
分类:其他好文   时间:2018-08-19 10:56:09    阅读次数:122
Java8内存模型—永久代(PermGen)和元空间(Metaspace)
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法 ...
分类:编程语言   时间:2018-08-15 21:36:21    阅读次数:233
1020条   上一页 1 ... 31 32 33 34 35 ... 102 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!