-1

我正在编写将 NFA 转换为 DFA 的代码,如果我们有一个电源状态 {1,2,4},我必须将其转换为某个唯一的数字,比如 x。另外我必须做反向映射,这样我得到 x,我必须将电源状态返回为 {1,2,4}

我想出了集合 1、2、4 的字符串表示形式的 HashMap,并将值作为唯一编号。但随着代码的增长,我可能有 (1,2,4) 和 (2,1,4) 两者都是相同的集合但不是相同的字符串。然后我想到了对状态字符串进行排序并将其用作映射键。但似乎我的逻辑很复杂。

4

1 回答 1

0

您可以取状态编号 2 的幂,然后继续添加它以产生唯一编号。对于反向映射,您可以设置逻辑,因为这个数字将是 2 的完美幂的数字的总和。我把它留给你,因为这是你的作业。

例如 (1,2,3) = 2+4+8 = 14

于 2014-04-09T00:47:55.623 回答