[温故而知新] 数据结构
2005-11-22 19:10
169 查看
一、 栈 Stack
about: RPN范式
如果一个算术表达式中的每一个运算符均位于操作数的后面,称这样的表示为表达式的后缀表示,也称为逆波兰表示(reverse Polish notation,or RPN)。
简单的说:
Equation with parenthesis (1 + 2) * 3
Prefix notation * 3 + 1 2 or * + 1 2 3
Postfix notation 1 2 + 3 * or 3 1 2 + *
第一个表达式是通常带括号的算术表达式,第二是波兰范式,后一种就是逆波兰范式
使用(逆)波兰范式可以省去括号,让表达式顺序执行。
逆波兰范式这个网页介绍得比较清楚:http://users.ece.gatech.edu/~mleach/revpol/ 可以在本BLOG的文章收藏中找到
把嵌套括号的表达式翻译成RPN表达式可以减少循环,加快求值速度。
把普通算术表达式翻译成RPN表达式方法如下(转贴自http://www.cs.utsa.edu/~wagner/CS1723/fall01/eval/trans.html):
可以在本BLOG的文章收藏中找到
小结:
stack的后进先出。
计算机操作系统在执行一个递归函数时,通过使用一个stack来保存每次递归调用时当前运行状态
stack应用相关的有RPN(Reverse Polish notation)范式,其中RPN又分为后缀表达式与前缀表达式
利用stack,可以实现一个字母的倒序排列。 即reverse方法
待续...
《数据结构习题与解答 For JAVA》
peek() | 将栈顶元素返回 |
pop() | 在将栈顶元素从栈中移出后,将该栈顶元素返回 |
push(Object) | 将给定元素插入栈顶 |
search(Object) | 返回给定对象在栈中的位置 |
empty() | 判断栈是否为空 |
如果一个算术表达式中的每一个运算符均位于操作数的后面,称这样的表示为表达式的后缀表示,也称为逆波兰表示(reverse Polish notation,or RPN)。
简单的说:
Equation with parenthesis (1 + 2) * 3
Prefix notation * 3 + 1 2 or * + 1 2 3
Postfix notation 1 2 + 3 * or 3 1 2 + *
第一个表达式是通常带括号的算术表达式,第二是波兰范式,后一种就是逆波兰范式
使用(逆)波兰范式可以省去括号,让表达式顺序执行。
逆波兰范式这个网页介绍得比较清楚:http://users.ece.gatech.edu/~mleach/revpol/ 可以在本BLOG的文章收藏中找到
把嵌套括号的表达式翻译成RPN表达式可以减少循环,加快求值速度。
把普通算术表达式翻译成RPN表达式方法如下(转贴自http://www.cs.utsa.edu/~wagner/CS1723/fall01/eval/trans.html):
可以在本BLOG的文章收藏中找到
小结:
stack的后进先出。
计算机操作系统在执行一个递归函数时,通过使用一个stack来保存每次递归调用时当前运行状态
stack应用相关的有RPN(Reverse Polish notation)范式,其中RPN又分为后缀表达式与前缀表达式
利用stack,可以实现一个字母的倒序排列。 即reverse方法
待续...
《数据结构习题与解答 For JAVA》
相关文章推荐
- 近日再读《数据结构》,希望温故而知新
- C语言数据结构单链表之温故而知新
- 数据结构基础温故-6.查找(上):基本查找与树表查找
- [转]深入C语言之字节对齐 - [C 数据结构 算法]
- 数据结构 第一章 学习感受与总结
- 数据结构之链表
- 数据结构 2(数据结构 逻辑关系 存储关系 数据类型 抽象数据类型)
- 数据结构 算法 我花了一学期整理的
- 【实验报告】《数据结构》实验一: VC编程工具的灵活使用
- 数据结构—哈夫曼编码应用
- 百练2815---城堡问题 数据结构初学小鲜肉 思路代码分享
- 数据结构就这么考完了
- 《数据结构》第一次实验:VC编程环境灵活应用
- MySQL索引背后的数据结构及算法原理
- 数据结构-->结构体
- 采用队列数据结构按层次遍历二叉树
- 《数据结构》信管1131和1132班同学链接
- 浅谈算法和数据结构: 四 快速排序
- 数据结构-静态单链表节点的查找