首页 文章
  • 2 votes
     answers
     views

    线性增加颜色暗度算法

    我想在ruby中编写一个函数,给出1到500之间的数字将输出一个6位十六进制颜色代码,对于更高的数字,它会线性变暗 . 这似乎并不难,但我不知道从哪里开始 . 我该如何实现呢? edit Hue似乎是一种更可靠的方式 . 我想给出一个参考颜色,比如一个绿色的阴影,然后根据输入的数字使它变暗或变亮 . 输入:10输出:颜色代码(在rgb或HSV中),是参考颜色的浅色调 输入:400输出:颜色代码(在...
  • 1 votes
     answers
     views

    计算机代数软,以最小化一组多项式中的运算数

    我有多项式系统,相当简单的多项式表达式,但很长,以优化我的手 . 表达式按集合分组,在给定集合中,在几个变量中有常用术语 . 我想知道是否存在计算机代数系统,例如Mathematica,Matlab或sympy,它们可以使用通用术语优化多个多项式以最小化操作次数 . 如果这样的系统可以最小化中间项的数量以减少寄存器的数量,那也将是很好的 . 如果这样的系统不存在,我将使用Python符号代数Sym...
  • 6 votes
     answers
     views

    将数字转换为C#中的字母以便在Microsoft Excel中使用[复制]

    可能重复:如何将列号(例如127)转换为excel列(例如AA) 好的,我正在编写一个接受二维数组作为参数的方法 . 我想将这个2d数组放到Excel工作表上,但我需要计算出最终的单元格位置 . 我可以像这样轻松地获得高度: var height = data.GetLength(1); //`data` is the name of my 2d array 这给了我 Y 轴但是得到我的 X...
  • 25 votes
     answers
     views

    生成独特颜色的算法

    我正在寻找一种能够生成一系列颜色的算法,以便颜色尽可能广泛地分布(因此它们不会轻易混淆) . 我有一系列具有从1开始计数的ID的对象 . 我想用不同的,美学上令人愉悦的颜色来表示每个对象,这些颜色不容易与其邻居混淆 . 颜色不一定是随机的 . 我想每次输入相同的ID时都会得到相同的颜色 .
  • 1 votes
     answers
     views

    Bellman Ford算法无法计算有向边加权图的最短路径

    当我在书Algorithms, 4th edition, Robert Sedgewick and Kevin Wayne中遇到下面的问题时,我最近了解了最短路径算法 . 假设我们将EdgeWeightedGraph转换为Directed EdgeWeightedGraph,方法是在EdgeWeightedGraph中为每个Edge创建EdgeWeightedDigraph中的两个Directe...
  • 1 votes
     answers
     views

    O(E)最短路径

    有没有办法在O(E)中找到任意权重的图中从单个源到顶点的最短路径,但如果最短路径有7个或更少的边,则只需要担心它 . Bellman-Ford算法的最佳案例运行时间为O(E),这适用于此吗?
  • 0 votes
     answers
     views

    Bellman-Ford算法

    我知道Bellman-Ford算法最多需要| V | - 如果图形不包含负权重循环,则1次迭代以找到最短路径 . 有没有办法修改Bellman-Ford算法,以便在1次迭代中找到最短路径?
  • 4 votes
     answers
     views

    通过未加权图形的最短节点序列

    我想知道是否存在一种算法,通过从头节点到尾节点的图形来查找最短的节点序列 . 该图从头节点分支出来并且是任意复杂的并且收敛于尾节点 . 节点之间的所有连接都是未加权的 . 我正在考虑解决这个问题,从头部和尾部节点采取探索性步骤,直到图形任何一端的节点触摸等,但我想知道在我(重新)发明一个之前是否存在“更好的轮子” .
  • 0 votes
     answers
     views

    对谓词进行排序,使节点按“深度优先搜索”顺序排序

    我有一个节点列表,其中每个节点属于一个或多个树 . (他们不一定有共同的祖先) 我想按照我在深度优先搜索时找到的顺序对节点进行排序 . 假设我有一个用于将树根排序在一起的谓词,以及另一个谓词用于将一个共同父项的子项排序在一起 . 每个节点都有一个Parent访问器和一个子枚举器 . 出于性能原因,我想避免使用Children枚举(如果可能的话) . 什么是谓词传递给排序函数的伪代码(如果节点1小...
  • 3 votes
     answers
     views

    理解这种深度优先搜索算法

    我得到了一个DFS算法,它返回到目标节点的最短路径 . 它将参数作为参数(包含所有节点及其路径),起始节点,目标节点和已访问的节点列表(初始化为空) . 这是代码: def shortestPath(graph, start, end, visited = []): path = str(start) if start == end: return path ...
  • 2 votes
     answers
     views

    重复深度优先搜索算法

    我正在用Java编写程序,我必须实现三种搜索算法,其中三种是深度优先的图搜索算法 . 我的程序遍历由邻接矩阵在内部表示的连通图,并使用每个算法的前沿和探索集 . 边界存储扩展父节点的未探测子节点,探索集存储实际已扩展的节点 . 探索集的目的是避免重复,从而避免无限循环 . 我的前沿是使用链接的阻塞deque和我使用链接哈希集的探索集实现的 . 然而,在测试该算法实现的初始版本时,我注意到仍然存在少...
  • 0 votes
     answers
     views

    如何创建树,找到添加子节点的正确节点?

    构建树的最佳方法是什么,输入格式为 (a,b) , a 是父节点, b 是子节点? (节点1是根)例如: 1 2 //adds node #2 as the children of #1 (the root) 1 3 //adds node #3 as the second children of the root 2 4 //adds node #4 as the children of nod...
  • 2 votes
     answers
     views

    具有节点过滤的Java通用树遍历

    我有一个通用的树结构 . 我需要一个算法来遍历它,并删除一些叶子,如果它们不包含在给定的列表中 . 如果从子树中删除了所有叶子,则也删除整个子树 . 示例树: 0 / | \ 1 2 3 / \ | / \ 4 5 6 7 8 要留下的叶子:{4,6} 结果树: 0 / | 1 2 / | ...
  • 33 votes
     answers
     views

    迭代深化与深度优先搜索

    我一直在阅读有关迭代深化的内容,但我不明白它与深度优先搜索的区别 . 我知道深度优先搜索越来越深入 . 在迭代深化中,您 Build 一个级别的值,如果该级别没有解决方案,则递增该值,然后从头开始(根) . Wouldn't this be the same thing as depth-first search? 我的意思是你会继续增加和增加,直到找到解决方案 . 我认为这是同样的事情!我会走同...
  • 3 votes
     answers
     views

    如何在迭代深化/深度限制搜索中存储访问状态?

    更新:搜索第一个解决方案 . 对于正常的深度优先搜索,它很简单,只需使用哈希集 bool DFS (currentState) = { if (myHashSet.Contains(currentState)) { return; } else { ...
  • 5 votes
     answers
     views

    列车寻路算法

    我正试图找到一种解决方案,用于在火车游戏中进行寻路,其中存在不同类型的分叉 . 我希望火车从一个铁路到另一个铁路,除路径寻找外,一切都已实施 . 我需要得到一个铁路列表,以便火车可以跟随 . 现在,问题是我如何获得列表 . 我've tried A*, didn'工作,因为它停止搜索是否已访问节点(铁路) . 这是一个问题,因为可能达到某一点的方法是通过最长的路线 . 试过洪水填充,这一次...
  • 0 votes
     answers
     views

    从未加权的无向图计算具有精确长度l的边的另一图

    什么是制作另一个图形的方法,该图形的特征是只能从原始未加权(假设边长度为1)和无向图 G=(V,E) 的每个顶点 V 获得边长为l的顶点 . 我想出了一个解决方案,它只使用每个顶点上的深度优先搜索来搜索每个分支中的每个分支,直到找到每个顶点的路径长度为l的所有顶点 . 这给出了 O(V^(l+1)) 的运行时间,所以当然,这不是最佳解决方案 . 任何人都可以帮助我找到一个更好的渐近运行时更好的解决...
  • 15 votes
     answers
     views

    Dijkstra算法在有向图上具有负边

    如果唯一的负边缘成本来自初始节点怎么办?该算法仍然有效吗? 我觉得是的,因为我无法想到反例,但我无法证明这一点 . 有反例吗? 对于Dijkstra来说,负边是一个问题,因为如果有一条边可以在以后选择,而在很大程度上是负加权,则无法保证您选择的边产生最短路径 . 但如果唯一的负边缘从初始节点出来,我没有看到问题 . 我不是在寻找算法 . 我正在寻找对Dijkstra的一些见解 . 我在谈论有向图,...
  • -1 votes
     answers
     views

    使用navmesh图和路径寻找算法A *

    我正在使用由三角形组成的navmesh图 . 为了找到从开始到目标点的最短路径,我考虑了A *算法 . 虽然我想进行粗略的初步搜索以找到从开始到目标的路径,但是需要大量计算才变得非常麻烦 . 在从目标(g)和启发式(h)计算适应度(f)时,大多数教程告诉您通过当前位置和目标之间的距离差异来计算“h”,然后找到给出最小值的网格/三角形' F' . 对于像半圆一样的路径,在直径的相对边缘处具有起点和目...
  • 0 votes
     answers
     views

    递归和动态编程算法,用于查找从任意节点到另一个节点的最短路径(长度和实际路径)

    我希望在以下问题上提供一些帮助/指导,我正在努力解决这个问题 . 如果您对重新提问有任何建议,请发表评论,我会继续进行更改 . 采用加权有向无环图 . (a)递归算法,找到从节点x到节点t的最短路径(算法应尝试所有传出边缘并确定继续进行) . I was thinking something along the lines of breadth first search? Maybe, anoth...
  • 2 votes
     answers
     views

    找到两个节点(顶点)之间的最短路径

    我有一个互连边的列表( E ),如何找到从一个顶点连接到另一个顶点的最短路径? 我正在考虑使用lowest common ancestors,但边缘不要认为解决方案有效 . 最短路径由遍历的最小顶点数定义 . 注意:可能存在连接两个顶点的多路径,因此显然广度优先搜索将不起作用
  • 24 votes
     answers
     views

    如何在有向图和线性时间中找到两个顶点之间不同最短路径的数量?

    这是练习: 令v和w为有向图G =(V,E)中的两个顶点 . 设计线性时间算法以找到v和w之间的不同最短路径(不一定是顶点不相交)的数量 . 注意:G中的边缘未加权 对于这个消费税,我总结如下: 这是一个有向图 它要求 the number of different shortest paths . 首先,路径应该是最短的,然后可能存在不止一条这样的最短路径,其长度相同 .在v和w...
  • 8 votes
     answers
     views

    具有指定距离/节点数的寻路算法

    我需要一个算法,它会给我一条从起始节点到结束节点的路径,但路径必须有一个确切数量的节点,否则路径查找应该失败 . 为了扩展,我有一个瓷砖网格 . 移动只能是紧邻的上,下,左或右平铺(意思是没有对角线移动) . 瓦片在路径中可以使用和不可以使用的规则有很多,但大多数情况下可以归结为简单的布尔来判断瓦片是否可以使用(这可以在开始算法之前计算出来)但是,给我带来麻烦的是,我有一条路径必须具有的距离,这意...
  • 0 votes
     answers
     views

    凯文培根游戏的最短路径图遍历

    我一直在尝试为流行的凯文培根游戏创建一个图形表示 . 我已经创建了图形和顶点类,但是在创建宽度第一搜索方法来遍历图形并找到从凯文培根到演员的最短路径时遇到了一些麻烦,并在路上打印出边缘 . 用户应该输入一个演员,程序应该找到从凯文培根到该演员的最短路径 . 然后用户将继续进入演员,并且将获取到该演员的最短路径,并打印出凯文培根数字,否则它将打印出来 . 有一个顶点和图表类 . 顶点类是一个字典,它...
  • 2 votes
     answers
     views

    最短路径访问无向图中的顶点集

    我在室内 Map 中有一个无向的位置图 . 给定一组顶点时,我想找到覆盖所有顶点的最短路径 . 图包含52个顶点和150 - 250个边 . 什么是我可以用来找到最短路径的最佳算法 . 请不要混淆这是一个旅行商问题 . 它不必覆盖所有节点 . 只有给定的节点集 .
  • 0 votes
     answers
     views

    线性时间单对最短路径算法?

    是否有一种算法可以解决 linear time 中的单对最短路问题(即有向和无向边或无向边表示为两个有向边), negative, real edge-weights 和 non-negative cycles ? Wikipedia仅提及问题的单源和全对变体的算法 . 我知道解决其中一个问题的这些问题也解决了单对问题,但是它们都没有在线性时间和所有上述标准中起作用 . 因此,对于具有上述所有标准...
  • 180 votes
     answers
     views

    用于膨胀/收缩(抵消,缓冲)多边形的算法

    我如何“膨胀”多边形?也就是说,我想做类似的事情: 要求是新的(膨胀的)多边形的边/点都与旧的(原始)多边形处于相同的恒定距离(在示例图片上它们不是,因为那时它必须使用弧来填充顶点,但是让我们暂时忘掉它;)) . 我正在寻找的数学术语实际上是 inward/outward polygon offseting . 1指向balint指出这一点 . 替代命名是 polygon buffering...
  • 18 votes
     answers
     views

    最短的路径和测地线

    给定一个完全由四边形组成的网格,其中每个顶点都具有效价n(n> = 3),并且不在同一平面上,我需要从一组封闭的种子顶点中找到网格中每个顶点的距离 . 也就是说,给定一个或多个网格顶点(种子集),我需要构建一个距离图,该距离图存储每个网格顶点距种子集的距离(距离自身的距离为0) . 在花了一些时间寻找可能的解决方案之后,我得到了以下图片: 1)这不是微不足道的,并且在过去20年左右的时间里已...
  • 2 votes
     answers
     views

    2D Bin Packing / Tile算法 - 多边形内的矩形砖

    我正在解决一个问题 . 我想有效地平铺多边形 . 多边形是随机的 . 它可以是从三角形(边数= 3)到圆形(边数=无穷大)的任何形状 . 它可以是凹的或凸的 . 所有瓷砖都是固定尺寸的矩形 . 所有瓷砖都具有相同的方向 . 如果它使对话更容易,我们可以使用正方形作为平铺形状 . 瓷砖平行/垂直于多边形的最长腿,无论如何 . I 'm running in JavaScrip...
  • 2 votes
     answers
     views

    网格中的最短路径

    我有一个二维矩阵 A......... ##....##.. .####...## .......... .......### B......... ####...### #...#.###. 其中' . ' represents path and ' # '代表墙 . 我必须找到从点 A 到点 B 的最短路径 . 我熟悉 BFS 算法,它似乎是一个合理的算法 . 但是我觉得在网格上应用...

热门问题