找到 346 篇文章 关于数据结构算法

区分二义文法和非二义文法

Bhanu Priya
更新于 2021年6月15日 12:14:50

6K+ 次浏览

在理解二义文法和非二义文法的区别之前,让我们先了解这些概念。二义文法如果对于给定的输入字符串存在多个最左推导或多个最右推导或多个语法树,则称该文法为二义文法。如果文法是非二义的,则我们称之为非二义文法。如果文法具有二义性,则它对编译器构造有利。没有方法可以自动检测和消除二义性,但我们可以通过重写整个文法来消除二义性。示例让我们考虑一个具有如下产生式规则的文法−E=I ... 阅读更多

构造交替出现0和1的DFA

Bhanu Priya
更新于 2021年6月15日 12:13:10

3K+ 次浏览

问题构造确定性有限自动机 (DFA),其语言包含在字母表∑={0, 1}上交替出现0和1的字符串。解决方案如果Σ = {0, 1},(ε + 1)(01)* (ε + 0)是交替出现0和1的字符串集合。该语言的另一个表达式是(01)*+ 1(01)*+ (01)*0+ 1(01)*0。给定语言生成的字符串如下所示−如果没有输入是0或1,则它生成{ε}。字符串以0开头,后跟1 = {0101…}。字符串以1开头,后跟0 ={101010….. }所以,根据字符串生成,很明显字符串是... 阅读更多

构造一个执行两个一元数相乘的图灵机

Bhanu Priya
更新于 2021年6月15日 12:11:27

7K+ 次浏览

算法步骤1 - 读取最左边的“0”,将其替换为“x”,然后向右移动以处理“#”后的直接符号。步骤2 - 将符号“0”替换为x,然后向右移动,到达“#”后的第一个“B”。步骤3 - 将B替换为“0”,然后向左移动,直到到达最近的“x”。步骤4 - 将“x”替换为0,然后向右移动以处理被乘数的下一个符号。步骤5 - 执行步骤2、3和4,直到处理完被乘数的所有符号。步骤6 - 向左移动以替换乘数的符号,“x” ... 阅读更多

设计一个计算两个一元数加法的图灵机

Bhanu Priya
更新于 2021年6月15日 12:08:55

8K+ 次浏览

一元输入数n用符号0表示n次。示例4 → 00001 → 05 → 00000分隔符“#”(任何其他特殊字符)将用于区分两个或多个输入。例如:5、2是分别由00000 # 00表示的输入。算法步骤1 - 读取第一个输入的符号,不进行替换,然后向右移动。步骤2 - 当符号=“#”时,将其替换为“0”,然后向右移动。步骤3 - 向右遍历,直到最右边的“0”(左到B – 最后一个符号)。步骤4 - 将最右边的“0”替换为B步骤 ... 阅读更多

区分有限自动机和图灵机

Bhanu Priya
更新于 2021年6月15日 12:06:32

5K+ 次浏览

在理解有限自动机 (FA) 和图灵机 (TM) 的区别之前,让我们先了解这些概念。有限自动机有限自动机是一种抽象计算设备。它是具有离散输入、输出、状态和状态之间转换集的系统的数学模型,该转换集发生在来自字母表 Σ 的输入符号上。有限自动机表示FA 可在计算理论 (TOC) 中按如下方式表示−图形(状态转换图)表格(状态转换表)数学(状态转换函数)有限自动机的形式定义有限自动机是一个五元组M=(Q, Σ, δ, q0, F)其中,Q − 有限集称为状态Σ − 有限集称为字母表δ ... 阅读更多

C程序构建接受以“01”结尾的语言的DFA

Bhanu Priya
更新于 2021年6月15日 12:03:41

14K+ 次浏览

问题设计确定性有限自动机 (DFA),∑ = {0, 1},接受在字符 {0, 1} 上以“01”结尾的语言。解决方案为给定语言生成的字符串如下所示−L={01, 001, 101, 110001, 1001, ………}字符串的最小长度为2,给定语言的DFA包含的状态数为:2+1 = 3个状态。这里,q0 − 输入0时,它进入状态q1;输入1时,它进入自身。q1 − 输入0时,它进入自身;输入1时,它进入状态q2。q2 − ... 阅读更多

解释TOC中的正则表达式?

Bhanu Priya
更新于 2021年6月15日 12:43:52

19K+ 次浏览

正则表达式基本上是显示如何从正则语言的基本集合构建正则语言的简写方式。符号是相同的,用于构造语言,并且任何给定的表达式都与其紧密相关的语言相关联。对于每个正则表达式E,都有一个正则语言L(E)。示例1如果正则表达式如下所示−a + b · a*它可以写成完全带括号的形式,如下所示−(a + (b · (a*)))正则表达式与语言正则表达式的符号与语言的符号不同。这些符号被赋予... 阅读更多

设计一个识别∑={a, b}上回文词的图灵机

Bhanu Priya
更新于 2021年6月15日 12:00:34

21K+ 次浏览

算法步骤1 - 如果没有输入,则到达最终状态并停止。步骤2 - 如果输入=“a”,则向前遍历以处理最后一个符号=“a”。将两个“a”都转换为B。步骤3 - 向左移动以读取下一个符号。步骤4 - 如果输入=“b”,则将其替换为B,然后向右移动以处理其在最右端的等效“B”。步骤5 - 将最后一个“b”转换为“B”。步骤6 - 向左移动并处理步骤2 – 5,直到没有更多输入要处理。步骤7 - 如果机器到达... 阅读更多

解释有限语言和无限语言的构造?

Bhanu Priya
更新于 2021年6月15日 12:02:27

2K+ 次浏览

首先,让我们了解无限语言,然后了解如何在计算理论 (TOC) 中构造有限语言和无限语言。无限语言无限语言中任何字符串的长度都没有限制。用于推导字符串的任何推导步骤的数量也没有限制。例如,如果文法有n个产生式,则任何由n+1个步骤组成的推导都会重复使用某些产生式。如果语言被称为无限的,则必须重复使用某些产生式或产生式的序列来构造推导示例无限语言{anb | ... 阅读更多

解释具有属性的2型文法

Bhanu Priya
更新于 2021年6月15日 11:57:28

1K+ 次浏览

2型文法是上下文无关文法 (CFG)。所有产生式都具有以下形式−A → x — 其中A是非终结符,x是非终结符和终结符的字符串,上下文无关文法等价于下推自动机 (PDA) 和上下文无关语言。示例−下推自动机 (PDA)属性文法G = (V, T, P, S)如果产生式规则的形式为A → α,则称其为上下文无关文法。转换允许A → ε [即,α → ε],其中A是非终结符符号α是任何终结符或非终结符符号。这里,... 阅读更多

广告