问题标签 [graph]
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.
data-structures - 爬山和单对最短路径算法
我有一个奇怪的问题。谁能告诉我在哪里可以找到有关的信息,或者给我一些关于使用使用爬山方法的最短路径算法的介绍?我了解两者的基础知识,但我无法将两者放在一起。Wikipedia 有一个有趣的部分是关于通过爬山解决旅行销售人员的问题,但没有提供更深入的解释来说明如何准确地解决这个问题。
例如,爬山可以应用于旅行商问题。很容易找到访问所有城市的解决方案,但与最佳解决方案相比会很差。该算法从这样一个解决方案开始,并对其进行了一些小改进,例如切换访问两个城市的顺序。最终,获得了更好的路线。
据我了解,您应该选择任何路径,然后遍历它并在此过程中进行优化。例如,返回并从起始节点选择不同的链接并检查是否提供了更短的路径。
对不起-我没有说得很清楚。我了解如何将这个想法应用于旅行推销员。我想在最短距离算法上使用它。
algorithm - 如何计算旅行商双调旅行的最佳路径?
更新
经过更多阅读,可以使用以下递归关系给出解决方案:
这现在开始变得有意义了,除了 C 部分。我将如何确定最小值 k?我想这意味着您可以遍历所有可能的 k 值并仅存储 ( l(k,i) + dist(pk,pj)?
是的,这绝对是我在学校学习的一个问题。我们正在研究旅行商问题的双调旅行。
无论如何,假设我有 5 个顶点 {0,1,2,3,4}。我知道我的第一步是按 x 坐标增加的顺序对它们进行排序。从那里开始,我对如何通过动态编程完成这一点有点困惑。
我正在阅读我应该扫描已排序节点的列表,并为两个部分(初始路径和返回路径)维护最佳路径。我对如何计算这些最佳路径感到困惑。例如,我如何知道是否应该在初始路径或返回路径中包含给定节点,因为它不能同时包含在两者中(端点除外)。回想一下动态编程中的斐波那契,你基本上从你的基本情况开始,然后继续前进。我想我要问的是如何开始解决双音旅行商问题?
对于像斐波那契数字这样的东西,动态规划方法非常清楚。但是,我不知道我是否只是过于密集或什么,但我很困惑试图解决这个问题。
感谢您的关注!
注意:我不是在寻找完整的解决方案,但至少有一些好的提示可以帮助我入门。例如,如果这是斐波那契问题,可以说明前几个数字是如何计算的。请让我知道如何改进这个问题。
algorithm - 使用什么算法来确定使系统达到“零”状态所需的最小操作数?
这是一种更通用的问题,不是特定于语言的。更多关于想法和算法的使用。
系统如下:
它记录朋友群体之间的小额贷款。Alice
并且Bill
要去吃午饭,比尔的卡坏了,所以爱丽丝付了他的饭钱,10 美元。
第二天在火车站见面,Chales 没钱买票,所以Bill
给他买了一张,5 美元。那天晚些时候,她向朋友借了 5美元和 1 美元,给她的朋友买了礼物。Charles
Bill
Alice
Charles
Bill
现在,假设他们都在系统中注册了该交易,它看起来像这样:
所以,现在,唯一需要做的就是Bill
给Alice
她 4 美元(他给了她 1 美元,然后Charlie
把他的 5美元转给了她Alice
),他们处于初始状态。
如果我们将其扩展到许多不同的人,进行多笔交易,那么获得尽可能少的交易的最佳算法是什么?
c++ - 二分匹配
如何在 C 或 C++ 中实现二分匹配算法(可能基于最大流算法)?
具体来说,我在一个文件中有这个输入: (1,3) (1,5) (2,5)
(M,F) --> 其中 M 代表 MALE 的 id,F 是 FEMALE 的 id。
我需要找到最大匹配数并显示匹配的情侣。喜欢:匹配:1&3、2&5
我读过一些书,我可以将这个问题建立在“网络中的最大流量”算法上,但除了“这个问题可以通过......算法解决”这句话之外,我找不到任何具体信息。我对最大流量知之甚少,也不知道如何实现它......
graph - 带有图像的 Mathematica GraphPlot
我正在尝试使用GraphPlot
函数来构建一个Graph
,其中每个节点都是一个图像。我想将图像显示为我的顶点。有人知道怎么做这个吗?
我试过这样的事情:
但这不起作用。imgs 是我与每个顶点编号对应的图像列表。
作为健全性检查,如果我这样做:
然后就可以了,它向我显示了每个节点的顶点编号。
algorithm - 坚持解决最小生成树问题
我已将问题简化为在图中找到最小生成树。但我想再有一个约束,即每个顶点的总度数不应超过某个常数因子。如何建模我的问题?MST是错误的路径吗?你知道任何可以帮助我的算法吗?
还有一个问题:我的图有重复的边权重,所以有没有办法计算唯一 MST 的数量?有没有算法可以做到这一点?
谢谢你。
编辑:按度数,我的意思是连接顶点的边的总数。重复边权重是指两条边具有相同的权重。
flash - 用于打印图形的 flash 组件
是否有用于在 Flash 中绘制图形的类/组件/库?而且我不是在谈论条形图,而是实际的图表,例如神经图或路线图等。此外,如果有人对此有经验,可以绘制出多大的图表,直到它变得很大并且加载非常困难(如何很多节点,路线)。
非常感谢。
jquery - 查找 float 中选择的总和
如果我将函数绑定到 flot 的“plotselected”事件,有没有办法获取所选区域的起点和终点的主要系列索引?
我看到使用“plothover”可以使用“item”变量,但不清楚这是否适用于选择。另外,我不想每次调用函数时都遍历整个系列。我的目标是得到类似的东西:
如果我能做到这一点,我还可以(使用我的数据)输出如下内容:
看起来这应该很简单,但是 flot 真的让我陷入了循环。
谢谢!
.net - ZedGraph (.NET) - 仅具有实际值的轴标签
使用ZedGraph控件,假设我正在绘制 Y 值为 13、34 和 55 的数据。
如何设置我的 Y 轴,以便显示的唯一文本标签(我猜网格线会同步)是 13、34 和 55 的那些?
我不希望在我的数据范围内有规则间隔的标签(比如 0、25、50、75 ......)。只需标记实际值。