标签: theory

如何以及何时放弃在C#中使用数组?

我总是被告知在数组中添加元素的方式如下:

创建数组+ 1element的空副本,然后将原始数组中的数据复制到其中,然后加载新元素的新数据

如果这是真的,那么由于内存和CPU利用率的原因,在需要大量元素活动的场景中使用数组是正确的,对吗?

如果是这种情况,你是否应该尽量避免在添加大量元素时尽可能多地使用数组?你应该使用iStringMap吗?如果是这样,如果您需要两个以上的维度并且需要添加大量元素添加,会发生什么.你刚刚受到性能打击还是应该使用其他东西?

.net c# theory arrays

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

您是否在现实生活中应用了计算复杂性理论?

我正在学习计算复杂性的课程,到目前为止,它给人的印象是它对开发人员没什么帮助.

我可能错了,但如果你以前走过这条道路,你能否提供一个例子,说明复杂性理论如何帮助你完成工作?非常感谢.

theory complexity-theory

25
推荐指数
3
解决办法
3869
查看次数

理论计算机科学什么时候有用?

在课堂上,我们了解了暂停问题,图灵机器,减少等等.许多同学都说这些都是抽象和无用的概念,而且知道它们并没有真正的意义(即,一旦课程结束,你就会忘记它们结束而不是失去任何东西).

为什么理论有用?你有没有在日常编码中使用它?

theory turing-machines computation halting-problem

25
推荐指数
8
解决办法
8155
查看次数

"发射导弹"的起源是什么?

在函数式编程的上下文中,副作用的典型示例是"发射导弹".这种表达在哪里来自历史?

theory functional-programming side-effects definition

25
推荐指数
3
解决办法
1480
查看次数

比较两个Calendar对象

我想比较两个Calendar对象,看它们是否包含相同的日期.我不关心天数以下的任何价值.

我已经实现了这个,我无法考虑它应该失败的任何情况:

private static boolean areEqualDays(Calendar c1, Calendar c2) {
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
    return (sdf.format(c1.getTime()).equals(sdf.format(c2.getTime())));
}
Run Code Online (Sandbox Code Playgroud)

这种方法是正确的还是我应该逐场比较c1和c2?

java theory calendar

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

在c ++中刷新流的后果和优缺点

我最近阅读了一篇文章,其中指出使用比使用\n更好,std::endl因为它endl也会刷新流.
但当我找到关于该主题的更多信息时,我发现了一个网站,其中说明:

如果您处于必须避免缓冲的情况,可以使用std :: endl而不是'\n'

现在我的问题出现了:在哪种情况下最好不要写入缓冲区?因为我只看到了那种技术的优点.写入缓冲区不是更安全吗?因为它比硬盘驱动器小,所以它会比存储在HD上的数据更快地被覆盖(我不确定这是否属实).

c++ theory flush

25
推荐指数
5
解决办法
1693
查看次数

从正则表达式创建NFA的步骤

从正则表达式创建NFA时,我遇到了"描述每个步骤"的问题.问题如下:

将以下正则表达式转换为非确定性有限状态自动机(NFA),清楚地描述您使用的算法的步骤:(b | a)*b(a | b)

我已经制作了一个简单的三态机器,但它非常直观.这是我的讲师在过去的考试中提出的一个问题,他也写了Thompson算法的以下解释:http://www.cs.may.ie/staff/jpower/Courses/Previous/parsing/node5.html

任何人都可以清楚如何"清楚地描述每一步"吗?它看起来像是一组基本规则,而不是一个遵循步骤的算法.

也许我已经在某个地方掩饰了一个算法,但到目前为止,我只是用一个有根据的猜测创建了它们.

theory compiler-theory nfa

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

如何判断语言是否为LL(1)LR(0)SLR(1)

是否有一种简单的方法来确定语法是LL(1),LR(0),SLR(1)......只是从查看语法而不进行任何复杂的分析?

例如:要确定BNF语法是否为LL(1),您必须计算First和Follow集 - 在某些情况下这可能很耗时.

有谁知道如何更快地做到这一点?真的很感激任何帮助!

theory compiler-construction grammar parsing bnf

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

为什么递归下降解析器不能处理左递归

有人可以向我解释为什么递归下降解析器不能使用包含左递归的语法?

theory parsing

23
推荐指数
2
解决办法
4010
查看次数

在编程方面,语义是什么意思?

这是Eric Lippert博客的一句话:

鉴于这种不幸的情况,首先强调存储机制,然后再强调语义是有道理的 .

很容易得到字典定义 "语义"的意思,但它在计算机术语方面意味着什么?

theory compiler-construction

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