问题标签 [pseudocode]

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 投票
26 回答
154821 浏览

performance - 计算给定数的除数的算法

计算给定数字的除数的最佳算法(性能方面)是什么?

如果您可以提供伪代码或某个示例的链接,那就太好了。

编辑:所有的答案都非常有帮助,谢谢。我正在实施阿特金筛,然后我将使用类似于 Jonathan Leffler 指出的东西。Justin Bozonier 发布的链接包含有关我想要的更多信息。

0 投票
13 回答
164937 浏览

algorithm - 快速排序:选择枢轴

在实现快速排序时,您必须做的一件事就是选择一个枢轴。但是当我看下面这样的伪代码时,我不清楚我应该如何选择枢轴。列表的第一个元素?还有什么?

有人可以帮我理解选择支点的概念,以及不同的场景是否需要不同的策略。

0 投票
6 回答
2851 浏览

tdd - 伪代码编程过程与测试驱动开发

对于没有读过 Code Complete 2 的人来说,Pseudocode Programming Process 基本上是一种设计例程的方法,先用通俗的英语描述,然后逐步修改为更详细的伪代码,最后是代码。这样做的主要好处是通过自上而下而不是自下而上构建系统来帮助您保持在正确的抽象级别,从而在不同的层中发展出干净的 API。我发现 TDD 在这方面不太有效,因为它过于关注做最少的事情以使测试通过,并且鼓励很少的前期设计。我还发现必须为不稳定的代码(不断被重构的代码)维护一套单元测试是相当困难的,因为通常情况下,你需要为一个只需要一次或两次的例程进行十几个单元测试。当你进行重构时——例如更改方法签名——你所做的大部分工作是更新测试而不是更新产品代码。我更喜欢在组件的代码稍微稳定后添加单元测试。

我的问题是——在尝试过这两种方法的人中,你更喜欢哪一种?

0 投票
7 回答
3154 浏览

pseudocode - 将卡路里转换为体重

体重减轻/增加的基本方程是:

我要进行健康检查,就像一个好书呆子一样,我想我会开始跟踪这些事情并编写一些软件来处理我的数据。我不够专心和自律,无法计算食物中的卡路里,所以我想我会倒退:

  • 我可以每天称体重
  • 我可以计算我的 BMR 以及我整天无所事事燃烧多少卡路里
  • 我可以使用我的心率监测器来计算我在运动中消耗了多少卡路里

这样我就可以根据我的锻炼和体重记录生成一个近似的“卡路里消耗”图表,并在我想吃甜甜圈时用它来激励自己。

我坚持的是功能:

有人知道那个函数的伪代码吗?如果您有一些详细信息,请确保您指定我们是否在谈论卡路里、卡路里、千焦耳、磅、公斤等。

谢谢!

0 投票
8 回答
767 浏览

algorithm - 写出代码仍然被认为是一种算法表示吗?

我刚刚在测试中丢失了 50% 的答案,因为我在期中写出了代码而不是算法,将我从 A 撞到了 C。写出代码仍然被认为是算法表示吗?

维基百科:算法表示(因为编程风格几乎是基于共识的)

编辑:好的,让我明确几点:

  1. 测试要求使用我们从未在课堂上真正“定义”过的伪代码;我们刚刚为我们的算法写了英文。

  2. 它是一个 Java 类,并在 Java 方法中写出了整个解决方案以及注释。所有这些都是手写的,写出来的时间比伪代码要长。我以为会更清楚。

  3. 我通常不会对这些事情提出异议,但这是 A 和 C 之间的区别,而且我在考试中获得奖学金。

  4. 最后,我写这篇文章有两个原因:

    4.1 我想展示现代编程社区对伪代码和算法表示的看法。

    4.2 我想知道在“现实世界”中什么是可以接受的;我已经编程了一段时间,但我希望能够尽快为开源项目做出贡献,我不想踩到任何人的脚趾。(虽然我很确定这个话题在现实世界中出现的可能性很小)。

再次感谢您的任何帮助/建议。

0 投票
2 回答
787 浏览

algorithm - 计算一周中某一天的日期

给定一个工作日(1-7),我如何计算该工作日的最后日期是什么?

示例:今天是2008 年 11 月 12日星期三,我想知道上周五的日期。

0 投票
7 回答
24676 浏览

algorithm - 无需替换的采样算法?

我正在尝试测试偶然发生特定数据聚类的可能性。一种稳健的方法是蒙特卡罗模拟,其中数据和组之间的关联被随机重新分配大量次(例如 10,000 次),并且使用聚类度量来比较实际数据与模拟以确定 ap价值。

我已经完成了大部分工作,将分组映射到数据元素的指针,所以我计划随机重新分配指向数据的指针。问题:什么是无需替换的快速采样方法,以便在复制数据集中随机重新分配每个指针?

例如(这些数据只是一个简化的例子):

数据(n=12 个值) - A 组:0.1、0.2、0.4 / B 组:0.5、0.6、0.8 / C 组:0.4、0.5 / D 组:0.2、0.2、0.3、0.5

对于每个复制数据集,我将拥有相同的集群大小(A=3、B=3、C=2、D=4)和数据值,但会将这些值重新分配给集群。

为此,我可以生成 1-12 范围内的随机数,分配 A 组的第一个元素,然后生成 1-11 范围内的随机数并分配 A 组的第二个元素,依此类推。指针重新分配很快,并且我将预先分配所有数据结构,但是没有替换的采样似乎是一个以前可能已经解决过很多次的问题。

逻辑或伪代码优先。

0 投票
17 回答
7520 浏览

php - 生成随机数的算法

我正在寻找生成一个随机数并将其发布到数据库中特定 user_id 的表中。问题是,同一个号码不能使用两次。有一百万种方法可以做到这一点,但我希望非常热衷于算法的人有一种巧妙的方法来解决问题,因为它满足以下标准:

1) 对数据库的查询量最少。2) 对内存中的数据结构进行最少的爬取。

本质上,这个想法是执行以下操作

1)创建一个从 0 到 9999999 的随机数
2)检查数据库以查看该数字是否存在

2)查询数据库中的所有数字
3)查看返回的结果是否与来自 d​​b 的任何
内容匹配 4)如果匹配,请重复第1步,如果没有,问题就解决了。

谢谢。

0 投票
5 回答
4628 浏览

simulation - 我将如何为足球管理模拟构建结果预测器?

我正在寻找一些关于像足球经理和冠军经理这样的游戏在模拟真实得分线时如何达到相当高水平的真实感的思考。我意识到其中一些算法可能会填满货架,但我正在寻找更清晰的概述。

即使是一些概述在游戏循环期间不同玩家属性如何相互对抗的伪代码也会非常有趣。

我希望在业余时间为 Windows Mobile 平台做一个小项目,如果有任何有用的信息,我将不胜感激!

0 投票
2 回答
3183 浏览

c# - sharepoint 中的调查结果

我如何获得已完成或未完成或未回复调查的用户列表。

所以我有一个调查,让我们说“调查 A”。在本次调查中,我列出了必须填写调查表的人员或团体。sharepoint 已经为我们提供了一份受访者名单,但我想列出一份未回复或未完成调查的人员名单。

我正在使用c#,谢谢..