dfa - 确定性有限自动机 (DFA) 接受字符串
问题描述
构造一个接受以下字符串 A(B|(BC+))*C 的 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}
表示从状态q0
到q1
通过阅读符号的转换s
您可以根据自己的情况先尝试一下。如果您发现困难,请发表评论。
推荐阅读
- python - Django Aggregation - 试图返回两个值
- python - 在 django 中保存数据表单,而 admin-django 没有可编辑的属性
- javascript - 如何在javascript中过滤和修改数组中的每个对象?
- reactjs - 从类组件迁移到功能组件,setState 为 useState
- linux - 如何运行使用 Snapcraft 安装的应用程序
- python - 列出反向问题
- c++ - 如何使 QSortFilterProxyModel 停止在搜索结果中显示不完整的匹配项?
- matlab - 这个情节应该是这样的吗?
- javascript - 自动点击不属于我的页面上的按钮
- ios - Swift 圆角在不同的屏幕尺寸上无法正常工作