标签: computation-theory

上下文无关语法

是否有算法从给定的无上下文语法生成所有字符串?

compiler-construction algorithm computation-theory

1
推荐指数
1
解决办法
1240
查看次数

有歧义的正则语法?

这样的事情存在吗?如果是这样,你能提供一个例子吗?谢谢。

grammar computation-theory regular-language formal-languages

1
推荐指数
1
解决办法
2261
查看次数

原始递归如果那么其他实际执行If Else Then

我对If Then Else的定义中的投影有问题.它实际上是作为If-Else-Then执行的.

 import Prelude hiding (pred,and,or,not)

 data PR = Z
     | S
     | P Int
     | C PR [PR]
     | PR PR PR
     deriving Show
 eval :: PR -> [Integer] - Integer
 eval Z _ = 0
 eval S [x] = x+1
 eval (P n) xs = nth n xs
 eval (C f gs) xs = eval f (map (\g -> eval g xs) gs)
 eval (PR g h) (0:xs) = eval g xs
 eval (PR g h) (x:xs) …
Run Code Online (Sandbox Code Playgroud)

recursion haskell computation-theory

1
推荐指数
1
解决办法
584
查看次数

使用以下语言构造语法{a ^ nb ^ m | n,m = 0,1,2,...,n <= 2m}

我刚接受了期中考试,但无法回答这个问题.

有人可以给出一些语言的例子,并为语言构建一个语法,或者 至少告诉我如何去做它?

另外如何编写语法L:

L = {a n b m | n,m = 0,1,2,...,n <= 2m}?

提前致谢.

grammar context-free-grammar computation-theory context-sensitive-grammar

1
推荐指数
1
解决办法
3万
查看次数

软件工程中的计算机科学

我目前正在学习软件工程,我的一些课程包括计算理论和分析算法。我发现很难将图灵机与软件工程或简单编程联系起来。所以我的问题是:

为什么要纳入在软件工程领域在计算机科学中起重要作用的理论学科?或者如何在开发软件中应用PDA,TM,P,NP等知识?我看不到两者之间的联系。

computer-science computation-theory

1
推荐指数
1
解决办法
287
查看次数

使用排序方法对算法时间进行排序

所以我刚刚学会了排序算法的冒泡,合并,插入,排序等等.他们在排序方法上似乎都非常相似,而我们的方法似乎只有很小的变化.那么他们为什么会产生这样不同的排序时间,例如O(n ^ 2)vs O(nlogn)

python sorting algorithm time-complexity computation-theory

1
推荐指数
1
解决办法
208
查看次数

PCRE 正则表达式不能描述什么?

我使用了很多正则表达式,并偶然发现了正则表达式实际上无法描述的问题。

我想到的第一个例子是匹配像 这样的字符串XOOXXXOOOOXXXXX...。这将是一个X由 s 和O' 交替序列组成的字符串,其中每个子部分仅包含该字符XO比其他字符的先前序列长。

谁能解释一下正则表达式的正式限制是什么?我知道这可能是一个相当学术的问题,但我是一个好奇的人;-)

编辑 因为我是一个 php 人员,所以我对 PCRE 标准描述的正则表达式特别感兴趣,如下所述: http: //php.net/manual/en/reference.pcre.pattern.syntax.php 我知道 PCRE 允许很多不属于原始正则表达式的内容,例如反向引用。

平衡括号的数学计算似乎是一个通常无法与正则表达式匹配的示例,但可以使用PCRE 进行匹配(有关实时示例,请参阅http://sandbox.onlinephpfunctions.com/code/fd12b580bb9ad7a19e226219d5146322a41c6e47):

$data = array('()', '(())', ')(', '(((()', '(((((((((())))))))))', '()()');    
$regex = '/^((?:[^()]|\((?1)\))*+)$/';

foreach($data as $d) {
  echo "$d matched by regex: " . (preg_match($regex, $d) ? 'yes' : 'no') . "\n";
}
Run Code Online (Sandbox Code Playgroud)

php regex pcre computation-theory

1
推荐指数
1
解决办法
611
查看次数

所有无限的语言都是不确定的吗?

我想知道所有无限的语言都无法决定吗?

它们必须是正确的,因为TM试图决定一种无限的语言会永远循环下去,这使它成为矩形,而不是决定者。

多谢你们。

language-theory turing-machines computation-theory

0
推荐指数
1
解决办法
5183
查看次数

比较(a+b)*c和a*c+b*c的计算速度

我刚刚了解到,C 中的加法运算比乘法运算更快。因此,我很好奇(a+b)*c计算速度是否会比 C 更快a*c+b*c

c time-estimation computation-theory

0
推荐指数
1
解决办法
107
查看次数

-2
推荐指数
1
解决办法
4864
查看次数

处理时间

为什么以下脚本需要这么多周期才能完成?

正在筛选的文件长20590行,每行包括以下内容或其变体; "10160354001 ALGIERS ALGERIA 36.70 3.60 290"

我正在尝试建立一个数据库,以匹配第一个数字到最后一个3.

然而,实际程序每行需要几秒钟.

脚本:

#! /usr/bin/perl

$path = shift(@ARGV);

open COORDS, $path or die "Couldn't open file\n";

my %coords = {};

foreach $line (<COORDS>){
    $stat = substr $line,0,11;
    @coords = grep(($_!=undef),split(/ /,substr $line,42));
    $coords[$stat]=@coords;
}

print $coords['10160354001'];

close(COORDS);
Run Code Online (Sandbox Code Playgroud)

perl computation-theory

-2
推荐指数
1
解决办法
69
查看次数