龙书学习 第三章练习题

这篇博客详细探讨了符号表在3.1.1练习中的应用,涉及浮点运算和条件判断。接着介绍了HTML解析的3.1.2部分,包括文本节点和元素节点的创建。3.3章节深入讨论了正则表达式的构造,如3.3.4中对大小写的处理,以及3.3.9中关于正则表达式量词的转换。此外,3.4节讲解了KMP算法,分析了最大真前缀和后缀的关系,以及其时间复杂度。博客通过一系列例子和练习帮助读者理解这些概念。
摘要由CSDN通过智能技术生成

3.1.1 

float limitedSquare(x){float x;
    /* returns x-squared, but never more than 100 */
    return (x<=-10.0||x>=10.0)?100:x*x;
}

<float> <id,指向符号表中limitedSquare条目的指针> <(> <id,指向符号表中x条目的指针> <)> <float> <id,指向符号表中x条目的指针> <;> <return> <(> <id,指向符号表中x条目的指针> <rel,<=> <minus,-unary> <num,浮点数10.0> <cond,||> <id,指向符号表中x条目的指针> <rel,>=> <num,浮点数10.0> <)> <?> <num,整数100> <:> <id,指向符号表中x条目的指针> <op,*> <id,指向符号表中x条目的指针>

3.1.2 

Here is a photo of <b>my house</b>;
<p><img src="house.gif"><br>
See <a href="morePix.html">More Picture</a> if you
liked that one.</p>

<text,"Here is a photo of"> <nodestart,b> <text,"my house"> <nodeend,b> <nodestart,p> <selfnode,符号表中指向src是house.gif的img引用> <selfnode,br> <text,"See "> <nodestart,符号表中指向href是morePix.html的a引用>  <text,"More Picture"> <nodeend,符号表中指向href是morePix.html的a引用> <text,"if you \n liked that one."> <nodeend,p>

 

3.3.1 略

3.3.2 

1) 首尾为a,中间段是零或多个a或b组成的串

2) 由零或多个或为a,或为空,或为a及零或多个b,或为多个b组成的串

3) 由零或多个a或b,且末尾为aab或aba或aaa或abb组成的串

4) 在三个b产生的四个间隙中插入零或多个a组成的串

5) 或空,或为aa或bb组成的串,或在偶数个ab或者ba产生的间隙中插入零或多个aa或bb组成的串

3.3.3 

1) n+1

2) n+1

3) n-1

4) 近似于于求解0<=x+y<=n的非负整数解的个数

    但需要注意,唯一的特例是x+y=n的解都是等价的

    所以t=n(n+1)/2+1

5) 每个字符有两种状态,出现或不出现在子序列中

    因此2^n

3.3.4 insensitive -> character | capital

        character -> [a-z]

        captital -> [A-Z]

         select->s|S e|E l|L e|E c|C t|T

3.3.5

1) a*e*i*o*u*

2) a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*

3) / \* (.*\"/\*.*/\*.*)* \*/

4) 查了一下 (?!.*?(\d).*?\1.*?$)\d+ 喵喵喵?先放着

5) 跟4)有一定联系,先放着

6) even_a_even_b -> (aa|bb)*((ab|ba)(aa|bb)*(ab|ba)(aa|bb)*)*

    even_a_odd_b-> even_a_even_b a(aa|bb)*(ab|ba) even_a_even_b  (写法应该较多,都是一个意思)

7) 不懂国际象棋,跳过

8) b*(ab?)*

9) b*a+b?a*

3.3.6 

1) [a-jA-J]

2) [^(aeiou)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值