• 递归模板函数内的无限循环

    我正在为大学项目编写自己的库,其中包含模板类:Vector和Matrix。除了这些模板类之外,还有用于向量和矩阵的相关模板函数。教授明确地告诉我们将矩阵定义为一维数组,其中元素按列排序(效率/优化的原因)。 “矩阵”模板类具有3个模板参数:矩阵允许的数据类型,行数,列数。 template <class T, unsigned int M, unsigned int N> class Matrix 话虽如此,我立即解决了这个问题。我正在编写一个函数,使用列的LaPlace规则(使用第一列)来计算维度> 4...
  • 每次递归调用函数之间的延迟

    我正在尝试为个人项目构建一个迷宫生成器。我有一个递归深度优先搜索功能,该功能以递归方式遍历网格中的每个单元,检查它是否有未访问的邻居,然后与下一个邻居再次调用递归函数。它能够很好地生成迷宫,但是我想在每次调用递归函数之间增加一个延迟,以便在迷宫访问每个单元时创建动画。使用chrome调试器,它似乎在第一次迭代中执行了1s的延迟,然后停止了等待,并从等待的延迟中反复跳回函数的开头,而从未进行下去。我究竟做错了什么? 这是递归函数和延迟函数: async function recursiveDFS(curren...
  • 树的倒数第二个节点上的Python递归多处理比单核慢得多

    为了更好地理解递归多处理,我使用了这个难题。棋盘是一个棋盘,每个字段上都有一个字母。有了国际象棋骑士,您就可以跳过棋盘。每次骑士在田野上时,请收集其所在的字母。 这个想法是,骑士最多可以移动10次。当骑士前进8步时,则开始多进程。 问题是,当我从第8步开始多处理时,要花很长时间才能处理到第10步,然后才使用单个进程。不确定为什么是这样或如何解决速度问题。 import logging import multiprocessing as mp import copy import csv import str...
  • 数独求解器中的递归步骤后,回溯不评估

    我正在尝试使用c ++制作sudokuSolver。我在回溯部分遇到了一些麻烦。该程序似乎没有回溯。发现没有可能后,它将正确地重置单元,但不会继续回溯部分。如果您能帮助我,我将不胜感激:) #include <bits/stdc++.h> using namespace std; void printBoard(vector<vector<int>> board) { for (int i = 0; i <= 8; i++) { for (int j = 0; j <= 8; j+...
  • 当函数参数未定义为const引用时,为什么会有无限递归?

    我很难理解可能导致无限递归的原因。在我的问题中有两点起作用 取决于全局功能定义的位置 是否将参数标记为第二个函数的const-ref(全局成员或类成员) 这是代码 #include <iostream> #include <optional> #include <vector> using dataType = int; using dataTypeReturn = float; //#define ENABLE_AFTER // For global fncs causes inf recurs...
  • JavaScript递归对象图

    我有点想递归映射对象,这是源对象: src = {         “ id”:“ 41055788-0c66-4401-a391-aafa58f289aa”,         “ parent_id”:“ 00000000-0000-0000-0000-000000000000”,         “ organization”:“ Consejo Directivo”,         “1级,         “儿童”:[           {             “ id”:“ 51cd7...
  • 为什么此Python递归函数不会溢出堆栈

    我已经看过类似的问题,但是并没有完全了解。我有一个使用Python(在本例中为3.6)和Ubuntu上的tkinter构建的简单计时器。在构建它的过程中,我将计时器写为递归函数,只是在构建gui时做了我能想到的最快的事情。 但是当我去重写该函数时,我以为我会在递归调用该函数时检查一下堆栈的外观,并惊讶地发现堆栈似乎没有增长。 该功能倒计时一分钟和几秒钟,运行一个计时器,当该计时器完成后,它将移至另一个计时器。当所有计时器都结束后,它会返回到第一个计时器。如代码中所示,该函数永远不会返回,它只会执行一系列递归...
  • Java深度优先搜索遍历迭代和递归不起作用

    为什么这不起作用? V是顶点数-我正在从文本文件中读取图形 -S是要开始的顶点-始终设置为1 我试图以迭代和递归的形式显示图形[img体],出于某种原因,我得到了两个完全不同的输出! public void DF_iteration(int s) { // Create a stack for DFS Stack<Integer> stack = new Stack<>(); // Push the current source node ...
  • 按顺序读取输入,删除左递归

    我在编译器课程中。 到目前为止的情况:我将所有标记存储在向量中,一个标记为字符串文字,另一个标记为Int来存储标记的类型(关键字,标识符,运算符等)。 我想就如何构造函数调用提出您的建议-特别是您对如何尝试隔离语句的“表达式”部分以及如何避免左递归的想法。 ...我先写出代码的相关部分,然后再总结一下: 我知道我想通过在语句的其余部分之后读取递归部分来避免左递归,但是我该怎么做呢? (即按顺序读取S = E + T,但将其解析为“ S =“,然后解析为“ + T;”和“ E”或“ T;”和“ E +”) 更...
  • 如何为状态中的递归嵌套数据建模

    我有一个像这样的数据结构: export interface IGroup { id: number; name: string; groupTypeId: number; items: IItem[]; groups: IGroup[]; } 它递归地表示“组”和“组”以及“组”和“项目”之间的许多关系。组由项目和子组组成。项仅派生为简单类型和其他元数据,但不能有子项。单个组代表层次结构的顶部。 我目前有一些组件,钩子等可以递归地使用一个组并创建一个编辑/创建表单,如下所示: 我...
  • C中更快的递归方法

    我想知道是否有一个函数递归搜索以优化此问题的代价,我将在下面描述该问题: 这是一个问题,要通过观察一组约束并最小化非线性成本函数来影响给定一周内登记的所有家庭。一周中的每一天。 假设nmbf为一个家庭的人数。 限制条件: •所有已登记的家庭(一周内给出了5个偏好(选择))必须受到影响。 •流行(天)日的参与者人数不得超过300,且必须大于或等于125:∀天,0≤天≤6:125≤流行(天)≤300, 目标:主办公司必须在与他们的第一选择不同的日期(受影响的费用)支付受影响家庭的补偿:AssignmentCos...
  • C函数查找NxN矩阵的行列式?

    我正在尝试编写给定特定矩阵来计算NxN行列式的函数。我的代码附在下面,并附带驱动程序进行测试。 (我的驱动程序将其他函数用作行列式的输入,现在就可以忽略它,因为我知道它可以正常运行)。当我使用10x10的随机值矩阵(这是我的赋值指示要执行的操作)时,几乎得到了-2147483648的答案,但是我认为这仅仅是一个溢出值,因为递归有些不正确。当我输入一个更合理的矩阵(我可以实际计算自己)(例如2x2)时,我总是得到0作为答案。这里发生了什么?我有明显的错误吗?谢谢! 功能: double matrix_dete...
  • 我的变量“ n”单独递减,甚至不提供递减操作。 C ++-N_Queen_Problem程序

    这是我创建的NQueen的代码。很少有操作,例如调用nqueen函数,然后从nqueen->调用backtrack进行递归,并将值“ 1”放在动态分配的数组“ arr”上。            问题是,由于我已经在main中初始化了变量“ n”,并将其传递给nqueen并从nqueen传递至回溯,有时还会打印最终创建的完整nqueen数组,因此“ n”将传递给print函数。在每个递归调用中,“ n”的值都在减少,在某些递归调用中也是如此,但是我没有提供递减操作。 这是主要的,调用nqueen func传...
  • 递归功能保持运行并且不打印任何内容

    长话短说,我应该编写一个代码来插入,删除,搜索并在跳过列表中打印数字,第一个节点为负无​​穷大,最后一个节点为正无穷大(-inf>(...)> inf)。我从插入函数中调用了搜索函数,以找到一个插入任何新节点的位置(仅在插入第三个节点之后),并且在主函数之外而不是在主函数内部初始化或引用了我的节点(尽管我正在辩论)我是否应该选择后者)。但是,我的功能之一可能会陷入循环。 static Node search(double item, double max) { Node head2 = he...
公告

欢迎访问 goshare  点击这里设置您的邮箱  可以接收站内跟帖、回复邮件提醒,不错过任何一条消息。

关注公众号订阅更多技术干货! 码农俱乐部