问题标签 [computer-science]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
348 浏览

computer-science - 计算机模拟:资源密集程度如何?

问题:

  • 计算机模拟如何,通常是资源密集型的?

例如,Simul8:离散事件模拟包 - 为什么计算密集,哪些因素(计算)对此有影响?

0 投票
9 回答
779 浏览

pointers - 我们应该在“编程基础”课程中教授指针吗?

明年秋天,我将教授一门关于编程基础的课程,第一年的计算机科学课程。在这样的课程中教授指针的优点和缺点是什么?(我的立场:应该教他们)。

编辑:我对“迎合你的听众”论点的问题是,在大学的头几年,我们(教授)不知道学生是否愿意成为科学家......我们希望我们知道,但我们有在那些将留在学校的人(4 年不是科学家做的)和那些将成为工程师的人之间取得平衡。

最终决定:至少是引用,但可能是没有指针运算的指针。

0 投票
9 回答
2927 浏览

computer-science - 如何减少逻辑语句?

我很确定我记得在我的一门大学课程中做过这样的事情,并且有某种公式,但除此之外,我的想法让我失望。

给定语句: ( a OR b OR d ) AND ( a OR c )

我很确定这可以简化为:( a OR b OR d OR c )

但我不记得我将如何证明这一点。

也许是一系列逻辑表?

0 投票
4 回答
1402 浏览

function - 没有副作用的确定性函数的术语?

对于特定类型的功能,我需要适当的术语。

假设您在 SQL 数据库中编写了一个函数,其输入和输出包含在数据库事务的范围内。

也就是说,如果您在数据库事务的范围内调用此函数,则该函数使用的所有数据在同一范围内都是可用的。它可以查询数据库表,但不能从文件系统读取文件,或 ping 网站等。如果您在单个事务中REPEATABLE READ隔离调用该函数两次,您应该得到相同的结果,即使其他客户端正在对数据库进行更改。

同样,该函数没有副作用,除非在相同的事务范围内。不允许在数据库事务范围之外更改状态。该函数不应该发送电子邮件,也不应该写入文件系统,也不应该在 中存储值memcached等。如果该函数更改数据库中的数据,那没关系,因为如果调用事务回滚,那么该函数的效果也是如此.

函数的参数没问题,因为它们基本上用作常量。

这种类型的功能的正确术语是什么?“确定性”似乎还不够具体。您如何描述此类功能?


感谢您的回答,但它们都不是我的想法。幂等最接近,所以我将其标记为已接受的答案。但是无论如何,你们每个人都得到了我的支持。

  • 纯函数没有副作用,它们的结果完全基于它们的参数。给定相同参数的结果总是相同的。这不行,因为我想到的数据库函数可以基于数据的状态,函数也可以影响数据的状态。

  • 幂等函数可以根据数据的状态返回一个结果,并且给定相同的数据状态,结果总是相同的。但这并不完全符合我的想法。无论调用多少次,幂等函数的效果都必须导致结果不变。但是在事务隔离内所做的更改和在该范围之外所做的更改之间没有区别。

0 投票
2 回答
3499 浏览

machine-learning - 智能代码完成?有人工智能通过学习编写代码吗?

我问这个问题是因为我知道这里有很多读得很好的 CS 类型可以给出明确的答案。

我想知道这样的人工智能是否存在(或正在研究/开发),它通过自己生成和编译代码来编写程序,然后通过从以前的迭代中学习来进步。我说的是努力让我们这些程序员过时。我正在想象通过反复试验来学习编程语言中哪些有效,哪些无效的东西。

我知道这听起来像是天方夜谭,所以我想知道已经做了什么,如果有的话。

当然,即使是人类程序员也需要输入和规范,所以这样的实验必须有仔细定义的参数。就像人工智能要探索不同的计时功能一样,这方面必须明确定义。

但是有了一个复杂的学习人工智能,我很想知道它会产生什么。

我知道有很多人类品质是计算机无法复制的,比如我们的判断、品味和偏见。但是我的想象力喜欢这样的想法:一个程序经过一天的思考后会吐出一个网站,让我看看它想出了什么,即使如此,我仍然经常认为它是垃圾;但也许每天一次,我可能会给它反馈并帮助它学习。

这种想法的另一个途径是提供一个高级描述,如“菜单式网站”或“图像工具”,它会生成足够深度的代码,作为代码完成模块,然后我可以在细节。但我想这可以设想为一种非智能的静态分层代码完成方案。

这个怎么样?

0 投票
6 回答
3592 浏览

algorithm - 目前认为 2D 点匹配的“最佳”算法是什么?

我有两个包含 xy 坐标(星)的列表。我还可以将星等(亮度)附加到每颗恒星上。现在每颗星星都有随机的位置抖动,每张图像中可能会有一些额外或缺失的点。我的问题是,“对于这样的数据集,最好的 2D 点匹配算法是什么?” 我猜对于简单的线性(平移、旋转、缩放)和非线性(例如,坐标中的 n 次多项式)都是如此。在点匹配领域的行话中,我正在寻找能够在具有噪声和伪点的 2D 点匹配程序之间的枪战中获胜的算法。可能会有不同的“赢家”,这取决于是否使用了标签信息(幅度)和/或转换是否被限制为线性。

我知道有许多类的 2D 点匹配算法和每个类中的许多算法(实际上可能总共有数百个),但我不知道哪个(如果有的话)被认为是“最好的”或“最标准的”计算机视觉领域的人们。可悲的是,我想阅读的许多文章都没有在线版本,我只能阅读摘要。在我决定实施一个特定的算法之前,最好听听几位专家的意见,把小麦从谷壳中分离出来。

我有一个使用三角形的有效匹配程序,但它经常失败(大约 5% 的时间),因此解决方案转换有明显的扭曲,但没有明显的原因。这个程序不是我写的,而是来自大约 20 年前写的一篇论文。我想编写一个性能最强大的新实现。我假设(希望)在这一领域取得了一些进展,这使得这变得合理。

0 投票
4 回答
736 浏览

count - 可数性问题(理论)

我明天要考GRE,有一个问题。根据答案键,这个练习测试表明从 N 到 {0, 1} 的所有函数的集合是不可数的。

您不能将自然数映射到这些函数,如下所示?

也就是说,f4(1)=0,f4(2)=0,f4(3)=1,f4(其他)=0。这最终不会涵盖所有可能的这些功能吗?我们绝对可以将自然数映射到这个集合。

0 投票
2 回答
4195 浏览

algorithm - 最长简单路径

所以,我理解在图中找到最长简单路径的问题是 NP-hard,因为您可以通过将边权重设置为 1 并查看最长简单路径的长度是否等于边缘。

我的问题是:如果你画一个图,找到最大边权重,m用 替换每个边权重wm - w然后运行标准最短路径算法,你会得到什么样的路径?这显然不是最长的简单路径,因为如果是,那么 NP = P,我认为类似的证明会更复杂一些 =P。

0 投票
7 回答
47827 浏览

algorithm - 是否有充分的理由使用插入排序?

对于通用排序,答案似乎是否定的,因为快速排序、归并排序和堆排序在平均和最坏情况下往往表现更好。然而,插入排序似乎在增量排序方面表现出色,即在较长时间内一次向列表添加一个元素,同时保持列表排序,特别是如果插入排序实现为链表(O(log n) 平均情况与 O(n))。但是,堆似乎能够(或几乎)执行增量排序(从堆中添加或删除单个元素的最坏情况是 O(log n))。那么与其他基于比较的排序算法或堆相比,插入排序究竟提供了什么?

0 投票
3 回答
19569 浏览

tree - 两棵二叉树同构是什么意思?

两棵二叉树同构是什么意思?我一直在网上寻找,似乎找不到明确的解释。

据我了解,如果两棵树具有相同的形状,它们就是同构的。所以我猜测两个相同的树可以在节点中包含不同的值。