2005年11月22日

[温故而知新] 数据结构

一、 栈    Stack

peek()      将栈顶元素返回
pop()    在将栈顶元素从栈中移出后,将该栈顶元素返回
push(Object)    将给定元素插入栈顶
search(Object)    返回给定对象在栈中的位置
empty() 判断栈是否为空



        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》       

        

posted @ 2005-11-22 19:10 dekn 阅读(131) 评论(0) 编辑

项目的质量管理

最近公司一直在讨论决策支持项目的质量管理,今天在查阅有关书籍时,发现一句比较有意思的话:

柯达公司对质量管理的定义是:在一个可产生显著效益的成本水平上,产品和服务可以满足或超过用户的需要和期望。

看了柯达公司的这句话,让我感觉到我们平时所说“质量管理要X样X样,做到X何X何”,但成本(开发工期)却有硬性指标,这时怎么办?  呵呵,最基本的是要满足基本需要,如果有“能力”,再去超过。而不是一味的去“超过”

posted @ 2005-11-22 12:51 dekn 阅读(690) 评论(1) 编辑