构建从输入 (a, b) 中以 'a' 开头和结尾的 DFA 的程序


DFA 代表确定性有限自动机。它是一种有限状态机,根据其接受器接受或拒绝字符串。

在这里,我们将构建一个接受以 a 开头和结尾的字符串的 DFA。输入来自集合 (a,b)。基于此,我们将设计一个 DFA。现在,让我们讨论一些 DFA 接受的有效和无效案例。

DFA 接受的字符串:ababba、aabba、aa、a。

DFA 不接受的字符串:ab、b、aabab。

示例

此程序检查字符串是否以 a 开头和结尾。此 DFA 将接受所有以 a 开头和结尾的字符串。代码检查第一个和最后一个元素是否相等,其余所有元素都可以来自 (a,b)。

#include <iostream>
#include <string.h>
using namespace std;
int main(){
   char str[] = {"ababba"};
   int lenght = strlen(str);
   if(str[0] == 'a' && str[lenght-1] == 'a'){
      printf("Accepted");
      else{
         printf("Rejected");
         return 0;
      }
   }
}

输出

Accepted

更新于: 2019年8月6日

738 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告