码迷,mamicode.com
首页 >  
搜索关键字:进栈 出栈    ( 1830个结果
C++实现二叉树的前序、中序、后序非递归扁历
这三种常见的扁历方式,是考研面试等场合经常遇到的,在此做一个总结。 1、前序遍历比较简单:用指针p指向根节点,若p!=NULL且栈非空,则直接访问节点,并将节点的右孩子入栈,同时指针p向左孩子移动。 2、中序扁历:用指针p指向根节点,若p!=NULL且栈非空,则当前节点入栈,同时指针p向左孩子移动,出栈是指针指向当前节点的右孩子。 3、后序扁历相对复杂:需要设置一个辅助栈,标识该节点是否是第...
分类:编程语言   时间:2014-09-09 18:26:19    阅读次数:211
设计一个栈,除了pop与push方法,还支持Min方法,可返回栈元素中的最小值,push、pop、min三个方法的时间复杂度必须是O(1)
1 /* 2 * 设计一个栈,除了pop与push方法,还支持Min方法,可返回栈元素中的最小值, 3 * push、pop、min三个方法的时间复杂度必须是O(1) 4 * 一种解法是在Stack类里添加一个Int型的minValue,当minValue出栈...
分类:其他好文   时间:2014-09-06 12:14:13    阅读次数:232
Codeforces 319B. Psychos in a Line【栈】
题目大意: 一串数列,每一个值如果大于相邻右一位的值的话,那么就可以把右边这个值“吃掉”(右一位消失,原来的值不变),问需要吃多少次才能到达无法再吃的状态。 做法: 利用栈。遍历一遍数组,处理每个值的时候,如果栈顶的元素小于该值,那么将其弹出,知道栈顶元素大于该值或者栈为空,栈内的每个元素记录下一个属性:他是在第几次被“吃掉”,进栈的新元素的被吃次数就是它弹出去的元素中的属性的最大值...
分类:其他好文   时间:2014-08-31 15:53:01    阅读次数:372
关于Catalan数
问题的由来:编号为1到n的n个元素,顺序的进入一个栈,则可能的出栈序列有多少种?对问题的转化与思考:n个元素进栈和出栈,总共要经历n次进栈和n次出栈。这就相当于对这2n步操作进行排列。问题等价于:n个1和n个0组成一2n位的2进制数,要求从左到右扫描,1的累计数不小于0的累计数,试求满足这条件的数有...
分类:其他好文   时间:2014-08-29 19:50:48    阅读次数:271
出栈入栈动画demo
项目做了一个切换界面动画的功能,用到了出栈入栈的,写了一个demopackage com.myron.stackview;import java.util.Stack;import android.app.Activity;import android.os.Bundle;import androi...
分类:其他好文   时间:2014-08-27 12:36:37    阅读次数:805
013使用两个栈实现一个队列(keep it up)
使用两个栈实现一个队列 队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO),  用两个栈来实现队列的最简单方式是:进入队列则往第一个栈压栈,  出队列则将第一个栈的数据依次压入第二个栈,然后出栈. 两条规则: 1)进队列,则直接压入第一个栈 2)出队列,若果第二个栈不为空,直接pop(),如过第二个栈为空, 则把第一个栈中的数据全部压入第二个栈(第一个栈此时为空...
分类:其他好文   时间:2014-08-27 01:40:37    阅读次数:230
Codefroces 223A - Bracket Sequence【栈优化】
题目大意: 有一串只含有 "("  ")"  "["  "]" 的序列,问在该序列的 左右括号能分别配对的 所有子串中的含有方括号的个数的最大值,并输出相对应的子串。 做法: 利用一个栈来维护,每次如果有能与栈顶的元素配对的右边括号时,将该元素弹出,如果此时弹出的元素代表方括号,那么记录此时出现的下标。否则将该元素压进栈。 当然我们压进栈的是当前元素的下标。当处理完整个序列之后...
分类:其他好文   时间:2014-08-26 17:30:46    阅读次数:151
Android_LaunchMode模式详解
第一部分概述:Activity一共有以下四种launchMode:standard不管有没有实例,都会生成一个新的。2.singleTop如果实例位于栈顶部,则不再创建实例,否则创建一个新的实例。3.singleTask如果发现有对应Activity实例,则该Activity实例之上所有Activity出栈,使此Activity对象位于..
分类:移动开发   时间:2014-08-26 11:54:16    阅读次数:278
Android_LaunchMode模式详解
第一部分概述:Activity一共有以下四种launchMode:standard不管有没有实例,都会生成一个新的。2.singleTop如果实例位于栈顶部,则不再创建实例,否则创建一个新的实例。3.singleTask如果发现有对应Activity实例,则该Activity实例之上所有Activity出栈,使此Activity对象位于..
分类:移动开发   时间:2014-08-26 11:54:07    阅读次数:202
(郝斌讲学)数据结构学习篇(五)---队列的CRUD操作
队列   什么是队列? 一种可以实现“先进先出”的存储结构。   出队  入队  -->>队列 出栈  压栈  -->>栈   链式队列 ---用链表实现的 静态队列 ---用数组实现的 静态队列通常必须是循环队列..   039.循环队列需要几个参数来确定极其含义的讲解 front代表的是队列的第一个元素 rear代表的是队列的最后一个有效元素的下一个元素   队...
分类:其他好文   时间:2014-08-24 16:45:52    阅读次数:212
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!