编译原理中DFA的终态和非终态怎么区分啊,谁说的通俗点啊

如题所述

编译原理中DFA的终态和非终态区别为:包含不同、空集不同、状态不同。

一、包含不同

1、DFA的终态:DFA的终态包含了NFA终点结点的状态集合。

2、DFA的非终态:DFA的非终态不包含NFA终点结点的状态集合。

二、空集不同

1、DFA的终态:DFA的终态不可能为空集,因为NFA的终点一定会包含在某个DFA的状态集合中。

2、DFA的非终态:DFA有可能得到的非终态是空集,意味着所有的DFA的状态集合都包含了NFA的终点。

三、状态不同

1、DFA的终态:DFA的终态每个状态之间属于同一个状态。

2、DFA的非终态:DFA的非终态每个状态之间不一定属于同一个状态。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03

NFA确定化的时候,包含NFA初态的那个DFA状态就是确定后的DFA的初态

DFA的终态就是所有包含了NFA终态的DFA的状态

就如下边的例子,是一个初态为1,终态为6,7,9的NFA经过确定化得到的转换矩阵,右侧是将左侧的转换矩阵改名之后的DFA,也就是最后得到的DFA

对于DFA来说,他的初态就是包含了NFA唯一初态1的那个状态,就是左边的1,2右边的1了

终态则是左边的2,4,5,6,7和3,8,9和9对应的就是右边的2,4,5

相似回答