从正规式到DFA的三个过程:从正规式到NFA

本文详细介绍了正规式与确定有限自动机(DFA)的关系,特别是从正规式构建非确定有限自动机(NFA)的Thompson算法。正规式用于描述字符串模式,NFA则负责识别这些模式。Thompson算法通过组合基本正规式来构造NFA,包括识别空字符E、单字符、或操作和连接操作的NFA,并用这些基本组件构建复杂的NFA结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正规式是对模式的形式化描述,DFA负责高效、优雅地识别这种模式。从正规式到最优DFA要走三步:构建NFA、NFA确定化、DFA最小化。

本节关注从正规式构造NFA的算法:Thompson。
在学习之前我们有必要把正规式和NFA两者的本质和关系理清。
正规式的作用:描述一个字符串模式。
NFA的作用:识别一个字符串模式。
两者关系:正规式负责生产,NFA负责验收。

1.正规式如何生产?

重点不是正规式如何生产,而是模式如何生产(正规式就是对模式的形式化描述嘛)。回想起形形色色的字符串,我们会发现这些字符串模式都有如下几个基本特征:基本成分为字符下一个字符可以有多个选择字符之间有连接。从这三个共有的基本特征我们可以提炼出:模式生产就是这三个基本特征的实体任意组合的过程
那么换到正规式之后,我们也可以这样说:正规式生产就是基本正规式任意组合的过程(这是从非形式化到形式化的映射)。与基本特征对应的基本正规式包括:基本字符a(a代指任意字符)字符或’|‘(做选择)字符与’.’(连接)

2.NFA如何验收?

验收是根据生产过程而来的,这可不是先有鸡还是先有蛋的问题,逻辑很清晰。既然这样,我们自然而然想到,可以先求出基本正规式的NFA——基本NFA,然后剩下的所有工作就是对基本NFA的组合了。基本NFA将在算法讲解部分介绍,注意我们还会介绍两个特殊的NFA:空字符E基本NFA(作状态的连接)、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值