java 实现nfa的化简_构造正规式r1|r2(或运算)的NFA的程序实现(Java实现版本)...

需求分析

对给定的正规式r1、r2,已知它们的NFA分别为M1、M2(其状态转换矩阵及初态、终态信息分别保存在指定文件中)。构造一程序,由此程序构造正规式r1|r2(或运算)的NFA(将其状态转换矩阵及初态、终态信息保存在指定文件中)。程序采用GUI图形界面, 语言不限

项目介绍

项目地址

本构造正规式r1|r2(或运算)的NFA的程序实现(Java实现版本)项目由代码货栈测试整理,

项目下载地址 https://cs-work.com/p/21089

运行环境

Java, Eclipse

技术原理

NFA有三种运算, 或运算, 连接运算, 闭包运算, 假设有两个正规式s, t, 那么s|t的流程图如下图所示

d8b095c6433a8da5c11af226bcaa932c.png

其实就是构造新的起始状态, 终止状态, 然后加入四个临时的状态, 然后去连接 s和t, 这样就构造出了新的状态矩阵, 本项目采用java swing开发了一个 界面, 并且支持手动选择载入待运算的两个矩阵文件, 为了测试起见, 两个状态矩阵选用的是教科书里的两个NFA

nfa1是这个

7824bbd3a790cbff5e0c76533730e909.png

nfa2是这个

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值