21得票3回答
在BFS中,当出队节点时将其标记为已访问。

仅仅是一个关于图的BFS遍历的快速而有趣的问题。 我在许多网站上发现,BFS的伪代码基本上是这样的:BFS (Graph, root): create empty set S create empty queue Q add root to S //mark as visite...

133得票15回答
快速排序:选择枢轴

在实现快速排序算法时,你需要选择一个枢轴(pivot)。但是当我看到以下类似的伪代码时,我不清楚我应该如何选择枢轴。是列表的第一个元素吗?还是其他东西? function quicksort(array) var list less, greater if length(a...

205得票10回答
这个游戏背后的数学/计算原理是什么?

我的孩子们有一个叫做Spot It!的有趣游戏。游戏规则(尽我所能描述)如下: 这是一副由55张牌组成的牌组 每张牌上都有8个独特的图片(即一张牌不能有两个相同的图片) 从牌组中任选两张牌,只有1个匹配的图片。 匹配的图片可能在不同的牌上缩放不同,但这只是为了使游戏更难(例如,小树仍然与大树...

10得票2回答
解决一个扩展的最短哈密顿路径问题

我在思考最短哈密顿路径(SHP)问题的扩展,但无法找到解决方法。我知道它是NP完全问题,但我想在这里寻求想法,因为我不想简单地用蛮力解决问题。 这个扩展非常简单:给定一个具有n个顶点的无向完全加权图,找到端点为v和u的最短哈密顿路径。 因此,蛮力仍需要O(n!)时间,因为剩下的n-2个顶点...

27得票5回答
伪代码比较两棵树

这是我遇到过几次的问题,而且我并不确定我使用的逻辑是最高效的。 举个例子,假设我有两棵树:一棵是文件夹结构,另一棵是内存中的文件夹结构“模型”。我希望比较这两棵树,并生成一个列表,其中列出了存在于一棵树中而不存在于另一棵树中的节点,反之亦然。 是否有一种已被接受的算法来处理这个问题呢?

10得票5回答
通过递归查找数组中的最大值

// Find a maximum element in the array. findMax(A) findMaxHelper(A, 0, A.length) findMaxHelper(A, left, right) if (left == right - 1) ...

24得票3回答
SHA 256伪代码是什么?

我一直在尝试理解SHA-256的工作原理。对于其他算法,我已经编写了一种逐步伪代码函数来实现算法。 我尝试为SHA256做同样的事情,但到目前为止,我遇到了很多困难。 我试图弄清楚维基百科图表的工作原理,但除了文本部分解释功能外,我不确定自己是否理解正确。 这是我目前的进展: ...

27得票1回答
具有时间限制的图形路径规划算法(路线规划,旅行计划等)

我有一组公交/火车等交通站点的数据库,其中包含每个日期的到达和出发时间等信息。我正在寻找一种方法来搜索两个位置间最快(最短/最便宜/换乘最少)的行程。我希望未来可以自由选择位置,并使用OpenStreetMap数据进行步行、起点/终点到站点的导航,但目前我只想在数据库中查找两个站点之间的路径。...

13得票1回答
仅使用网络的贝叶斯分类器伪代码

我正在尝试使用 igraph 和 python 实现用于单变量网络数据的分类工具包。 然而,我的问题实际上更多地涉及关系分类领域的算法问题,而不是编程问题。 我正在参照《Classification in Networked Data》一文。 我很难理解这篇论文中提到的“仅网络贝叶斯分类...

7得票2回答
手写编写线性规划练习题

我一直在课堂上通过绘图来解决线性规划问题,但我想知道如何为特定问题编写程序以解决它。如果变量或约束条件太多,我无法通过绘图解决。 例如问题:最大化5x + 3y,有以下限制: 5x - 2y >= 0 x + y = 0 y >= 0 我用图表表示出可见区域,并得到了三个角。 x =...