首页 > 解决方案 > 确定性有限自动机 (DFA) 接受字符串

问题描述

构造一个接受以下字符串 A(B|(BC+))*C 的 DFA,我不太了解字符串的顺序

标签: dfa

解决方案


字符串A(B|(BC+))*C通常是正则表达式。在你的情况下:

| means OR
+ means one or more occurrence of previous symbol
* means zero or more occurrence of previous symbol

基本转换:

AB  --> {q0, A, q1}, {q1, B, q2}
A|B --> {q0, A, q1}, {q0, B, q1}
A+  --> {q0, A, q1}, {q1, A, q1}
A*  --> {q0, A, q0}

{q0, s, q1}表示从状态q0q1通过阅读符号的转换s

您可以根据自己的情况先尝试一下。如果您发现困难,请发表评论。


推荐阅读