
算法设计与ACM
文章平均质量分 76
lrz1011
这个作者很懒,什么都没留下…
展开
-
(转载)算术表达式的自上而下语法分析及其实现(上)
学过编译原理的同学大概都知道对一个句子进行自上而下语法分析的方法。我参考了陈火旺院士的《高级程序设计语言编译原理》,在这篇文章里我主要是站在编译原理的角度讲述一种语法分析程序的实现的方法,通过对一个典型的例子——算术表达式的分析,从而使大家了解构造一个实用的语法分析程序的方法,同时,也为广大程序员提供一种解决实际问题的思路。 本文包括以下内容: 1. 算术表达式的产生式; 2. 自上而下...原创 2010-08-04 23:43:43 · 270 阅读 · 0 评论 -
(转载) 算术表达式的自上而下语法分析及其实现(中)
3. 产生式函数的改进 前两节我们已经实现了自上而下语法分析算法和产生式函数的构造,在这一节,我着重阐述对产生式函数的运行效率和占用空间进行优化的方法。 首先考察一下产生式E -> T+E | T-E | T的分析函数: void E_AddSub() { T_MulDiv(); //调用非终结符T的产生式函数分析T If(c...原创 2010-08-04 23:46:05 · 167 阅读 · 0 评论 -
(转载)算术表达式的自上而下语法分析及其实现(下)
5. 自上而下语法分析程序的实现 经过上面4步精心的准备,最令人激动的时刻到了。一般《编译原理》课本上的代码大都是无法在机器上运行的伪代码,在这里,你将要看到的是一个实用的可以检查错误的可以执行求值的基于自上而下语法分析算法的计算算术表达式的程序。 不失一般性,我们规定算术表达式只可以进行整数的四则运算(含括号),这样我们需要扩充下面3个函数: int E_AddSub();...原创 2010-08-04 23:47:45 · 195 阅读 · 0 评论 -
Alpha-Beta 搜索简介(转载)
《对弈程序基本技术》专题 Bruce Moreland / 文 最小-最大的问题 Alpha-Beta 同“最小-最大”非常相似,事实上只多了一条额外的语句。最小最大运行时要检查整个博弈树,然后尽可能选择最好的线路。这是非常好理解的,但效率非常低。每次搜索更深一层时,树的大小就呈指数式增长。 通常一个国际象棋局面都有35个左右的合理着法,所以用最小...原创 2010-08-12 14:58:37 · 143 阅读 · 0 评论 -
A*算法入门(转载)
深入A*算法 -浅析A*算法在搜索最短路径中的应用 Sunway 目 录 1 A*算法的程序编写原理 2 用A*算法实现最短路径的搜索 -------------------------...原创 2010-08-12 15:07:11 · 156 阅读 · 0 评论 -
A*算法详解(转载)
A*算法之祥解 在介绍 A* 算法前,先提一下广度优先搜索,广度优先搜索就是每次将当前状态可能发展的策略逐层展开,比如一个地图中,对象允许向四个方向移动,那么,就将地点处,对象向上下左右各移动一步,将四个状态都保存在内存中,然后再从这四个出发点向各自的四个方向再移动一步... (当然这里可以剔除不合理的移动方法,比如不准向回移动)实际上,整个搜索好似一个圆形向外展开,直到到达目的地。很明显这样求...原创 2010-08-12 15:09:18 · 361 阅读 · 0 评论