我试图找到一种压缩算法,我可以使用它来编码一个blob,只使用16个固定长度的符号(0b0000-0b1111)。 在没有任何压缩的情况下,我可以使用这16个符号对其各自的位值进行编码(例如,符号5(0b0101)对位0101进行编码,因此如果我的blob是100位长,我需要25个符号来表示它-但这样做不会提供压缩。 我认为我需要的是一个反向霍夫曼(在某种意义上,代码是固定长度的,但它代表可变长度
我在用递归解迷宫。我的矩阵是这样的 这是更大矩阵的原型。我的求解递归方法如下所示 你们可以注意到,这里我返回一个布尔值,如果我找到一条路径,它应该会给我一个真值。但它总是给我错误的答案。我不确定我在递归方法中犯的逻辑错误。方法如下 endX=3;endY=10;
我有以下问题: 有一组项目,每个项目有两个不同的正值a和B。 背包有两个值:totalA和totalB。这是所选项目值A和B的最大和。 我必须找出背包能装的最大物品数是多少。 示例: 输入: 总计A:10,总计B:15 项目1 A:3,B:4 项目2 A: 7,B: 2 项目4 A:2,B:1 项目5 A:4,B:6 输出: 3(项目:2、3、4) 如何使用动态规划来解决此任务?
我被硬币面额问题难住了。 我正试图找到最低数量的硬币用来弥补5.70美元(或570美分)。例如,如果硬币数组是{100,5,2,5,1}(100 x 10c硬币,5 x 20c,2 x 50c,5 x$1和1 x$2硬币),那么结果应该是{0,1,1,3,1},此时硬币数组将由相同面额($2,1,50c,20c,10c)组成 我被困在如何从硬币数组中扣除值并返回它。 编辑:新代码
我必须使用基于最小堆的优先级队列来实现Prim的算法。如果我的图包含顶点A、B、C和D以及下面的邻接列表...[它被排序为(顶点名称,相邻顶点的权重)] 粗图: 优先级队列是什么样子的?我不知道该往里面放什么。我应该把所有东西都放进去吗?我应该只写A、B、C和D。我不知道,我真的很想得到答案。
假设我有一个食物数据库,每个食物都含有一定量的脂肪、碳水化合物和蛋白质。例如,假设我有一个数据库: 什么是一个有效的算法来确定这些食物的哪些组合符合一定范围的脂肪、碳水化合物和蛋白质,并且每种食物都可以多次使用? 比如,如果我想要一个脂肪含量在20-30、碳水化合物含量在170-190、蛋白质含量在100-110之间的组合,那么2杯牛奶、5只鸡、1杯果汁和0份培根将是一个可能的解决方案,0杯牛奶、
任务是典型的背包问题。求解时应采用贪婪算法。我设法创建了下面的代码,但它工作得太慢了。你能告诉我怎么加快速度吗?谢谢你。 c是背包的重量限制。n表示价格权重对的数量(这两个数字都是int类型,而不是float)。限制如下:(1)如果在相同重量的元素之间选择,价格最高的元素应该被取;(2)如果在相同价格和相同重量的元素之间选择,第一个输入的元素应该被取。
几周前,我问了一个关于如何在R中进行优化(使用Optimize R优化向量)的问题。现在我已经掌握了R中的基本优化,我想开始使用遗传算法来解决问题。 考虑到目标函数: 我使用genalg软件包进行优化,特别是“rbga.bin”函数。但问题是一个人似乎不能传递多个参数,即不能传递vol和cov。小地毯是我遗漏了什么,还是理解错误了。 编辑:在genalg包中,有一个名为rbga的函数。垃圾箱就是我
一个图形有 n 个顶点和 m 条边。图形开始连接,然后按边缘在列表中出现的顺序删除边缘。在该过程结束时,图形将断开连接。 因此,在边列表中有一个特定的边,因此在移除它之前,有一个连接的组件的顶点数超过 n/4 个顶点的底部。移除此边后,图中没有连接组件的顶点数超过 n/4 个顶点的底部。 我将如何设计找到这条边的最佳算法。我是否只是开始删除边,然后每次遍历图以检查最大的连通分量是否足够?这在O(n
我对这个问题有点困惑。作为算法帮助我找到最大的利润从袋。但是这个算法并没有告诉我我应该拿哪一个项目会让我的利润最大。例如 n=4项,背包的容量M=8,利润=[15,10,9,5],重量分别为w=[1,5,3,4],当我解决这个问题时,我得到最大的利润为29 这里是解决方案[http://www.mafy.lut.fi/study/DiscreteOpt/DYNKNAP.pdf] 但是我想知道我应该
给定一个堆栈,任务是对它进行排序,使堆栈的顶部具有最大的元素。 示例1: 输入:堆栈:3 2 1输出:3 2 1示例2: 输入:堆栈:11 2 32 3 41输出:41 32 11 3 2 您的任务: 预期时间复杂度:O(N*N)预期辅助空间:O(N)递归。 约束:1
我已经看到了dijkstra的加权图的算法,我应该怎么做才能在未加权图中找到最短路径? 我应该考虑所有边之间的权重0或1? 其次,我想在节点上实现一个bfs来检查一个节点是否可以从任何其他节点到达?有没有可能,因为定义一个2-D数组的给出了一个内存故障。
首先定义Dijkstra算法: Dijkstra的算法在有向图中寻找具有非负边权的单源最短路径。 如果我有源和目的地T,我可以用Dijkstra算法在这两个顶点之间找到一条最短路径,但这里的问题是我想找到这两个顶点之间的最短路径,这两个顶点之间的边数不超过形式k。 第一部分是Dijkstra算法,第二部分是BFS算法,因为我们可以用BFS算法在无权图中找到最短路径。 所以我想知道有没有一种方法,可
我正在尝试编写一个骑士之旅算法,它有两个数组,访问和板。ACCESS是我用来判断下一步是什么的数组,board是用户将看到的最终结果的数组。我的算法通过检查找到可用移动次数最少的正方形,然后到达那里。如果恰好有两个可能的移动,并且可用的移动次数相同,我会找到哪一个离中心最远(离边界最近),然后移动到该点。这个算法应该会一直提供一个完美的64步骑士巡演程序,但我通常只得到大约60步,有人能告诉我为什
有没有一个简单的pari/gp程序可以筛选k*n c(其中n和c是固定的)形式的数,直到某个素数p,并且k被限制在某个范围内(即k=1,10000,) 伪代码: 换句话说,从整数列表 T 开始 检验素数范围 p 中的第一个素数,并从列表 T 中删除整数 k,使得 k*n c 可以被 p 整除。然后测试下一个素数,依此类推。执行此操作,直到达到筛子返回的极限,或打印候选列表。感谢您的帮助!