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

php - PHP 数组的 CS 定义是什么?

从严格的实现和计算机科学的角度来看,您将如何对 Php 数组数据结构进行分类?它是一个关联数组吗?哈希?一本字典?... ?

0 投票
43 回答
767624 浏览

algorithm - “Big O”符号的简单英文解释是什么?

我更喜欢尽可能少的正式定义和简单的数学。

0 投票
4 回答
153 浏览

computer-science - 关键字/标签的空间映射

我试图了解构建相关/常见关键字或标签的空间地图的策略或想法。以 SO 为例;如果您访问https://stackoverflow.com/tags并输入“python”,您将获得包含该单词的所有标签,但没有可能密切相关的标签(WSGI、Google 的 App Engine、flying 等) .

根据我的问题,您如何构建一个可以查询的空间图,以从搜索中找到密切相关的标签/关键字,按权重排序?但是,如何将标签 foo 的权重存储到可能更大数量的标签中,并且仍然保持系统响应?

我已经看过 David Weinberger 的 Google 技术演讲,这是一个让我思考的很棒的技术演讲。 http://video.google.com/videoplay?docid=2159021324062223592&ei=qseASZvgI6e4qAP91a2PDg&q=google+tech+talk

0 投票
83 回答
376372 浏览

language-agnostic - 什么是鲜为人知但有用的数据结构?

周围有一些数据结构非常有用,但大多数程序员都不知道。他们是哪些?

每个人都知道链表、二叉树和散列,但是例如跳过列表布隆过滤器呢?我想知道更多不那么常见但值得了解的数据结构,因为它们依赖于伟大的想法并丰富了程序员的工具箱。

PS:我也对像跳舞链接这样巧妙地利用通用数据结构的属性的技术感兴趣。

编辑:请尝试包含指向更详细描述数据结构的页面的链接。另外,尝试添加一些关于为什么数据结构很酷的词(正如Jonas Kölker已经指出的那样)。此外,尝试为每个 answer 提供一个数据结构。这将允许更好的数据结构仅根据他们的投票浮动到顶部。

0 投票
11 回答
72528 浏览

computer-science - 什么是向量,它们在编程中是如何使用的?

我熟悉向量的数学/物理概念作为幅度和方向,但我也经常在编程上下文中遇到对向量的引用(例如 C++ 似乎有一个 stl::vector 库出现在 SO 上相当频繁)。

我从上下文中的直觉是,它们是一个相当原始的构造,最常用于表示沿可变长度数组的线的东西(我认为将其大小存储为幅度),但如果有人能为我提供更完整的解释,最好包括它们在实践中的使用方式和原因。

0 投票
15 回答
58850 浏览

computer-science - 熵的计算机科学定义是什么?

我最近在我的大学开设了一门数据压缩课程。然而,我发现“熵”这个词在计算机科学中的使用相当含糊。据我所知,它粗略地转化为系统或结构的“随机性”。

计算机科学“熵”的正确定义是什么?

0 投票
5 回答
35948 浏览

functional-programming - JUMP 和 CALL 的区别

JUMP 和 CALL 指令有何不同?它与 GOTO 或过程调用等更高级别的概念有何关系?(我在比较中正确吗?)

这就是我的想法:

JUMP 或 GOTO 是将控件转移到另一个位置,并且控件不会自动返回到调用它的位置。

另一方面,CALL 或过程/函数调用返回到调用它的位置。由于它们本质上的这种差异,语言通常使用堆栈,并且堆栈帧被推送以“记住”每个调用过程返回的位置。这种行为也适用于递归过程。但是,在尾递归的情况下,无需为每次调用“推送”堆栈帧。

您的回答和评论将不胜感激。

0 投票
7 回答
586 浏览

computer-science - 开发人员要点 - 资源和项目尝试

我作为一名开发人员已经工作了大约 2 年,我的 IT 学位有点糟糕,我希望我已经获得了一个“适当的”计算机科学学位,因为我已经意识到我的知识存在巨大差距。

我完全在 c# 中工作,并进行了一些前端 Web 开发。有些东西真的很想学,我想知道人们是否可以向我指出一些好的资源。我基本上一直在尝试列出我不知道的内容并按优先级排序。任何人都可以建议我可以为列出的每个项目和要使用的资源尝试的示例项目(欢迎网络和书籍建议)。

  • 网络,了解完整的 IP 堆栈等。
  • http 协议,OReilly 的书值得一​​看吗?
  • 多线程应用程序
  • 低级编程,目前从头开始使用此编程的汇编
  • 数据结构和算法。
  • 操作系统
  • 您认为应该在此列表中的任何其他内容!

我想我在问,“每个开发人员应该知道什么?他们应该在自己的时间尝试哪些项目以确保他们很好地理解这个主题”。我知道我的清单是相当分散的枪,但我想这就是为什么我要在我的方向上寻求一些帮助。

提前感谢任何花时间对此做出回应的人。

..布里

0 投票
2 回答
421 浏览

architecture - 计算机类型

我最近在某处读到了一些与计算机相关的东西。

阅读内容与 Lisp 和 Emacs 相关,它们适合更像图灵机的“架构”模型。

另一方面,它是 C,“其他”架构模型是以我不记得名字的人命名的,但被命名为最成功的计算机类型,因为这是我们现在都使用的(即 cpu + ram + hd +等等等等)。

如果它不是图灵机,那这种计算机的名称是什么(那 afaik 是抽象模型而不是物理模型)

字节!

0 投票
17 回答
28386 浏览

computer-science - “以编程方式”做/确定某事是什么意思?

以编程方式。(以编程方式替代)

我从未使用过它,但我经常在问题中看到它,即“如何以编程方式确定 [在此处插入任务]”。Firefox 立即告诉我这两个词都不是真实的(至少,它无法识别它们)。除了在这里,我也从未见过它们在任何地方使用过。

1)“以编程方式”做/确定某事是什么意思?

2)为什么这么多人问如何“以编程方式”做/确定某事?难道不是假设,如果您在编程帮助板上询问如何做某事,您是在询问如何“以编程方式”做这件事吗?

3)为什么我从未在其他任何地方看到“以编程方式”这个词?