摘要: 正规式: 正规式:正则表达式,表示正规集的工具。 一个正规式对应一个正规文法(3型文法) 之间能够进行准换 三个基本规则: A->xB,B->y 则 A=xy。 A->xA|y 则A=x*y (x*代表x从1到无穷多个) A->x,A->y 则A=x|y 正规式主要用到了递归的思想,无论遇到多复杂的正规式都可以拆分成上面这三种形式,然后进行解题。 有限自动机(有穷自动机): DFA(Deterministic Finite Automation ):确定的有限自动机 表达式:M=(S,∑,f,So,Z) 1.S为一个有限状态集合 2.∑是一个字母表,它所包含的的每 阅读全文
posted @ 2011-10-05 14:03 ChaunceyHao 阅读(1595) 评论(0) 推荐(0)
摘要: 语法推导树必须具有的特征: 首先理解此处和文法有关,文法公式G={Vn,Vt,P,S} 1.每个结点都有一个标记,此标记是V的一个符号。(这个标记必须是终结符或者非终结符中的一个) 2.根的标记是S(开始符) 3.若一结点n至少有一个它自己除外的子孙,并且有标记A,则A肯定在Vn中。(如果一个结点有子孩子,则这个结点肯定不是终结符) 4.如果结点n的直接子孙,从左到右的次序是结点n1,n2,。。。nk,其标记分别是A1,A2,。。。Ak。那么A->A1,A2.。。Ak。一定是P中的一个产生式。(父亲结点推出子结点值得序列必须包含在P中) 短语、简单短语、句柄、素短语、最左推导、... 阅读全文
posted @ 2011-10-05 14:03 ChaunceyHao 阅读(867) 评论(0) 推荐(0)
摘要: 【问题梗概】 求一个函数的一阶导数。 【代码方案】 view plainusingSystem;usingSystem.Linq.Expressions;namespaceDerivative{classProgram{//求一个节点表达的算式的导函数staticExpressionGetDerivative(Expressionnode){if(node.NodeType==ExpressionType.Add||node.NodeType==ExpressionType.Subtract){//该节点在做加减法,套用加减法导数公式BinaryExpressionbinexp=(Bina.. 阅读全文
posted @ 2011-10-05 14:02 ChaunceyHao 阅读(929) 评论(1) 推荐(0)
摘要: 现在有1千万个随机数,随机数的范围在1到1亿之间。现在要求写出一种算法,将1到1亿之间没有在随机数中的数求出来。 解决办法: 一)用一个32位的整数32位表示32个数,1亿/32 = 3125000,使用3.125 * 4M byte空间即可保存1亿个数,即index[3125000]. 二)对于数n,(n-1) / 32 为其在数组中的下标,table[(n - 1) % 32]与数组中下标(n-1)/32的值使用或操作。 三)表table中值为table[ 0 ]=0x00000001, table[ 1 ]=0x00000002, ... ... table[29]=0x2000000. 阅读全文
posted @ 2011-10-05 14:01 ChaunceyHao 阅读(323) 评论(0) 推荐(0)