问题标签 [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 投票
33 回答
68250 浏览

computer-science - 我应该知道哪些计算机科学概念?

您认为计算机科学中的哪些概念使您成为更好的程序员?

我的学位是机械工程,所以最终成为一名程序员,我有点缺乏基础知识。我最近学到了一些标准的 CS 概念,这些概念让我对自己正在做的事情有了更深入的了解,特别是:

语言特点

  • 指针和递归(感谢 Joel!)

数据结构

  • 链表
  • 哈希表

算法

  • 冒泡排序

显然,目前该列表有点短,所以我希望得到以下建议:

  1. 我应该理解哪些概念,
  2. 任何可以正确理解它们的好资源(因为维基百科有时可能有点密集和学术性)。
0 投票
5 回答
19936 浏览

math - 离散结构和离散数学之间的区别

我还没有找到好的答案。或任何答案,就此而言。我被要求为 CS 课程教授离散结构,但同时确保它不是离散数学课程——这是由数学系提供的。

许多大学提供离散结构课程。还有很多DS教科书。但是当我查看课程大纲和教科书介绍时,从未使用过“离散结构”一词;他们改用“离散数学”。DS 仅出现在课程/教科书的标题中。

例子:

ODU 的 CS 381

维基百科上的离散结构条目

什么是离散结构,它与离散数学有何不同?

0 投票
3 回答
1021 浏览

algorithm - 'O(N)' 类型的东西很好的进修课程?

在大学里学习了所有关于计算算法成本的知识,但那是很久以前的事了,我都忘记了。有没有贯穿整个主题的演练?我觉得好像比我现在记得的要多。我想刷新我的一些核心技能。

0 投票
15 回答
64267 浏览

computer-science - 为什么是二进制而不是三元计算?

三态对象不是立即能够保存更多信息和处理更大的值吗?我知道处理器目前使用大量的异或门网络,这需要重新设计。

由于我们处于 64 位(我们可以表示 2^63 个可能的状态)计算等效的三元生成可以支持多 30 个十位 log(3^63-2^63) 的数字。

我想检测 +1 和 0 之间的电位差就像检测 -1 和 0 之间的电位差一样容易。

硬件、功耗或芯片密度的某些复杂性会抵消存储和计算能力的任何收益吗?

0 投票
1 回答
544 浏览

performance - 哪些 Java 应用程序可用于对虚拟机进行压力测试?

我对压力测试以及对SANOS操作系统内核进行基准测试的方法很感兴趣。

0 投票
5 回答
159 浏览

language-agnostic - 表示应用程序导航

我有一个包含许多页面的复杂应用程序。

每个页面可以有许多可能的路由到其他页面:'A'可以去'B'或'C','B'可以去'A'但不能去'C'。等等

而不是在每个页面中嵌入这个“下一个去哪里”逻辑(可怕!)我当然希望将它封装在一个主要控制点中。“A”不需要知道“B”或“C”。

更好的是,我想将问题简化为配置问题。

这不是特定于语言/框架的问题——它是如何最好(简单、实用)表示和解释工作流逻辑的问题。

有没有人有将应用程序中点之间的复杂流程表示为可配置设置的经验?

0 投票
6 回答
9101 浏览

algorithm - O(1) 复杂度删除单个链表中一个元素的算法

我是德国计算机专业的学生。我的教授给出了以下问题来思考:

'给定对单个链表中节点的引用(不是最后一个节点)。给出一个算法从列表中删除这个元素,它具有 O(1) 复杂度,同时保持完整性。

我想过这个,但我很确定,没有这样的算法。因为它是一个单链表,你必须遍历链表中的每个节点,直到你到达应该删除的节点,因为你必须在删除之前修改节点中的下一个指针。这将导致 O(n) 复杂度。

我错过了什么吗?

0 投票
3 回答
911 浏览

computer-science - AP计算机科学明天考试。有人拿过吗?有小费吗?

嘿,伙计们,只是想知道你是否有任何关于我明天进入我的第一个 AP 的最后一分钟提示!

0 投票
6 回答
327 浏览

c# - 如何记录计算机之间的相对时间?

我需要在不同的计算机上独立记录事件,并重建这些事件相对于彼此发生的顺序。该方案要求每台计算机相对独立;他们不能直接相互交谈或与单一来源交谈。

我最初的解决方案记录了每台机器上的时间,但是由于不同机器上的时间可能不同,并且可以全天变化,这并没有完全解决我的问题。我决定在机器 (1) 启动进程或 (2) 系统时钟发生变化时与所有机器共享。

所以从每台机器上我都会得到一个完整的日志

每当发生上述 (1) 或 (2) 时,我都会在日志中添加一个活动并将其广播到其他机器,这些机器将相同的活动添加到他们的日志中,其中 TranslatedTime 是他们自己的时间:

所以机器A会(按顺序):

机器 B 将(按顺序):

因此,我需要将上述事件的相同顺序和时间重构为:

List<Activity>从每台机器中获取 a 并将其按顺序合并到一个列表中的最佳方法是什么?

0 投票
7 回答
17164 浏览

algorithm - 图表:在小于 O(|V|) 的时间内找到一个接收器 - 或显示它无法完成

我有一个带有n节点的图作为邻接矩阵

是否有可能在更短的O(n)时间内检测到水槽?

如果是,如何?如果不是,我们如何证明?

Sink 顶点是具有来自其他节点的入边且没有出边的顶点。