我想知道,用什么数据结构来表示DFA最好?
我正在考虑将一个正则表达式转换为DFA,并将这个特定功能作为Java库。
主要问题在于,正则表达式中的每个实体都带有一组值,而不是像"car"那样的单个字符串值。在我的情况下,每个实体都会带有许多属性,如{car,Honda,4x4,sedan,...}(尽管我不是在搜索汽车,这只是一个例子)。
有什么建议吗?
我想知道,用什么数据结构来表示DFA最好?
我正在考虑将一个正则表达式转换为DFA,并将这个特定功能作为Java库。
主要问题在于,正则表达式中的每个实体都带有一组值,而不是像"car"那样的单个字符串值。在我的情况下,每个实体都会带有许多属性,如{car,Honda,4x4,sedan,...}(尽管我不是在搜索汽车,这只是一个例子)。
有什么建议吗?
在网上搜索可以找到一些Java中的DFA示例。然而,最好的表示取决于您特定的应用要求;例如,您的应用程序将如何使用DFA。我认为您需要自己解决这个问题。
我相信这个答案对于原问题来说可能并不有用,因为涉及到数据,但如果有人通过谷歌偶然看到这个问题...
DFA和NFA可以被存储为状态转移表,然后你可以通过按照链接移动表格来执行解析。