算法描述:
伪代码:

function E(s){return NFA中状态s经过空转移到达的状态集合;
}function Ee(T){return NFA中状态集合T中的每个状态通过空转移到达的状态集合;
}function move(T,a){return NFA中状态集合T中某个状态输入a到达的状态集合;
}D = E(NFA开始节点);
D中状态未被标记;
C = [所有输入字符集合];
DFA = [][];//二维数组,最后的结果
while D中含有没有被标记的状态T {标记T;for(i = 0;i < C.size();++i){a = C[i];//每个输入的字符M = move(T,a);U = Ee(M);if U == empty{continue;}if U not in D{D.append(U);并且U未被标记;}NFA[T][a] = U;}
}
show(NFA);

DFA最小化



案例1

案例2



编译原理---NFA转化为DFA---DFA最小化(自己看)相关推荐

  1. 实现一个 DFA 正则表达式引擎 - 4. DFA 的最小化

    (正则引擎已完成,Github) 最小化 DFA 是引擎中另外一个略繁琐的点(第一个是构建语法树). 基本思路是,先对 DFA 进行重命名,然后引入一个拒绝态 0,定义所有状态经过非接受字符转到状态 ...

  2. 编译原理--NFA/DFA

    现成的, 讲义: https://www.cnblogs.com/AndyEvans/p/10240790.html https://www.cnblogs.com/AndyEvans/p/10241 ...

  3. [编译原理]词法分析实验之基于 DFA 的单词识别

    Spring-_-Bear 的 CSDN 博客导航 问题描述: 基于 DFA 的单词识别问题的一种描述是:编写一个程序,输入一个确定的有穷自动机(DFA),使用该 DFA 识别单词. 基本要求: 设置 ...

  4. 编译原理-提取左公因子---消除左递归(自己看)

    参考: https://blog.csdn.net/liyun123gx/article/details/19924993 https://blog.csdn.net/hxfghgh/article/ ...

  5. 【编译原理】:NFA转变为DFA的子集构造法

    整体的步骤是三步:  一,先把正规式转换为NFA(非确定有穷自动机),  二,在把NFA通过"子集构造法"转化为DFA,  三,在把DFA通过"分割法"进行最小 ...

  6. 【编译原理】 NFA转变为DFA的子集构造法

    整体的步骤是三步:  一,先把正规式转换为NFA(非确定有穷自动机),  二,在把NFA通过"子集构造法"转化为DFA,  三,在把DFA通过"分割法"进行最小 ...

  7. 正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——5 DFA最小化

    完整引擎代码在github上,地址为:https://github.com/sun2043430/RegularExpression_Engine.git DFA最小化的算法原理 "DFA状 ...

  8. 【编译原理】最小化 DFA

    最小化 DFA 最小状态DFA的含义 1.没有无关状态(多余状态.死状态) 什么是无关状态? 死状态:从这个状态没有通路到达终态:S1 多余状态:从开始状态出发,任何输入串也不能到达的那个状态.S2 ...

  9. 编译原理学习笔记(十五)~最小化DFA

    概念 最小化:优化DFA,使其状态数最少. 那么什么时候状态数是最少的呢?这里我们需要介绍两个新的名词:可区分和不可区分. 官方定义:         可区分:对于任何两个状态t和s,若从一状态出发接 ...

最新文章

  1. 机器学习+优化问题的种类、如何优化、凸优化、非凸优化、对偶问题、KKT条件
  2. 《系统集成项目管理工程师》必背100个知识点-79版本控制流程
  3. 好久不见webmin
  4. 测度论相关概念(吐)
  5. 【若依(ruoyi)】弹框图标 / layer 图标
  6. Global.asax.cs中的方法(包括自定义方法)的含义
  7. simhash与Google的网页去重
  8. 正则表达式收集(持久更新)
  9. python 驱动级鼠标_罗技各系鼠标测评(2020年12月更新)
  10. The Double-Checked Locking is Broken Declaration
  11. resiprocate 之repro注册
  12. 在IA32如何将程序计数器的值放入到整数寄存器中?
  13. cdma特有效应_[多选] 相对于IS-95A,下列特征哪些是CDMA20001x系统所特有的().
  14. Pytorch中pack_padded_sequence和pad_packed_sequence的理解
  15. 系统命令联网激活方法
  16. 收集LOGO生成网站(持续更新)
  17. 今天市场:洗洗更健康!
  18. 【软件安装】vmware虚拟机安装完整教程(15.5版本)
  19. 人力资源年终数据分析报告怎么写?这份攻略拿走不谢
  20. 怎么将模糊的照片变清晰

热门文章

  1. 责任分配矩阵和raci的区别_有限责任公司实现盈利,当年就一定可以分红吗?...
  2. css清除浮动的几种方法_清除浮动的几种方法
  3. WebStorm如何设置默认游览器
  4. Spring MVC框架-持久层用hibernate自动化(1)
  5. 在python中如何判断数组中的数据为空值_缓存穿透问题,开发中真实解决方案
  6. 和平精英体验服服务器更新维护什么意思,和平精英8月9日体验服官方申请地址 和平精英更新6项内容需要多注意!和平精英8月9日更新时间确定...
  7. URL Scheme获取帮助文档
  8. StackExchange.Redis 使用LuaScript脚本模糊查询hash
  9. SQLite剖析之事务处理技术
  10. 关于.NET内存中的堆和栈