首页 文章
  • 2 votes
     answers
     views

    方案:为什么评估letrec中定义的递归函数失败?

    我在Scheme(DrRacket Pretty Big)中写了一个愚蠢的letrec: (letrec ((is-creative? (lambda (writing) (if (null? writing) #f (is-creative? (eval writing)))))) ...
  • 6 votes
     answers
     views

    返回目标路径的深度优先图搜索

    我整个星期都在尝试这个,但是,对于我的生活,我不能想出来 . 我知道我需要一个辅助函数来递归并返回pathSoFar . 我似乎无法理解递归 . 我很困惑,除了递归之外,我甚至无法确切地解决问题 . 谢谢你的帮助 . 编辑:好的,我会澄清一点 . 令我困惑的一件事是当节点没有邻居时返回什么路径 . 可以首先返回目标路径,但是,因为帮助程序仍在递归,它可以返回死端路径 . 我想我对回溯感到困惑 .
  • 0 votes
     answers
     views

    用Java递归创建二进制搜索树

    我一直在尝试创建一个递归方法,它将创建一个完整的二叉搜索树 . 此方法返回对此树的根的引用 . 作为参数,我传递树的深度以及存储在当前子树的根中的数字 . 我已经设法为2个基本情况设计解决方案,当深度为0和1时,但是当我尝试使用大于1的数字时,我只得到0级和1级实例化而不是下一个 . 任何帮助都会很棒 public class BinaryNode { private int data; priv...
  • 1 votes
     answers
     views

    深度优先搜索:返回值

    我正在阅读有关深度优先搜索(here)的信息,并且想知道为什么我们不知道't return the value of the recursive call. This might sound strange, so here' s代码中的代码注释: def depthFirst(node, soughtValue, visitedNodes): if node.value == sough...
  • 2 votes
     answers
     views

    “最大二叉树深度”的递归方法(Java)的时间复杂度是多少?

    这个问题取自LeetCode的“Binary Tree of Binary Tree”: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf ...
  • 0 votes
     answers
     views

    计算二叉搜索树的深度?

    对于给定的BST,我很难计算深度的总和[根的所有子项的各个深度的总和] . 我有树的节点总数,我正在尝试计算树的平均深度,要求我有这个深度总和 . 递归和我相处得不好..我发现这个问题非常困难 . 如果可能的话,我想看一个递归的解决方案 . 注意: 我创建了访问器Node.getLeft()和Node.getRight()
  • 2 votes
     answers
     views

    3D迷宫中的最短路径

    我正在尝试编写一个程序,使用递归在3D迷宫中找到最短路径 . 我能够编写通过迷宫找到随机路径的代码,但我想知道如何修改我的代码以找到最短的路径 . 请注意,我想保持递归方法 . 有人可以提出解决方案吗? 这是一个2D迷宫示例: s XXXX XX X XXX Xe X 一个从 s 开始到 e . X 是一个障碍, `` 是路线 .
  • 1 votes
     answers
     views

    您是否在递归算法中以广度或深度搜索?

    深度优先搜索使用LIFO / Stack . 广度优先搜索使用FIFO /队列 . 递归算法使用什么?两者结合?
  • -2 votes
     answers
     views

    二叉搜索树递归

    给定二进制搜索树的根节点,我正在尝试创建一个递归搜索,其中找到给定最大和最小范围内的所有节点但是访问量最少 . 所以基本上这个问题的设置将是(我认为): public Node finder(Node root,int max,int min){};
  • 0 votes
     answers
     views

    使用深度优先迭代深化方法或广度优先打印二叉树层次结构

    我当前在Python中尝试二进制树,我想创建一个很好的方法来逐级打印出二叉树;目前我已经实现了一个 breadth-first 方法,从根开始打印每个级别 - 工作正常,但对广泛接受的递归解决方案感兴趣 . 如果我要使用递归方法,那不能简单地模拟迭代广度优先方法 - 我/我可以使用 depth-first iterative deepening 解决方案吗? 我知道深度优先迭代加深被用作一种有效的...
  • 0 votes
     answers
     views

    深度优先迭代深化算法首先打印二叉树宽度

    我不是程序员,但作为我个人项目的一部分,我很想知道是否有一个递归解决方案能够先打印二叉树宽度,水平顺序?我理解可以使用迭代深度优先算法? #Helper method def getChildren(node): children=[] hasLeft = node.left is not None hasRight = node.right is not None ...
  • -1 votes
     answers
     views

    二叉树中节点的深度

    我编写了以下函数,它返回二叉树特定节点的深度 . 考虑这里的树:如果我要求节点5的深度,我应该从路径1 - > 2 - > 5得到3的答案 . 它不起作用;我得到0,即使我从函数返回高度 . 这里“data”是要找到其深度的值,root是树的根节点 . height的初始值为1(根节点为1级) . int height_target(node *root,int data,int...
  • 2 votes
     answers
     views

    C中的递归深度优先搜索(DFS)算法

    我已经在类 Graph 中将图形实现为邻接矩阵,其中包含访问和修改它所需的所有函数,我在DFS算法中需要的函数 // for a Graph x, node v string x.get_node_value(v) //returns the the label of the node queue x.neighbors(v) //returns a queue with the adjacen...
  • 2 votes
     answers
     views

    Java检测循环有向图

    我目前正在尝试编写一个程序来检查是否 directed graph is cyclic or not . 我不确定我做错了什么(我很可能做错了所以所以请StackOverflow,告诉我我的愚蠢!) . 我已经到了不知道可能是什么问题的地步 . 输入是一个邻接列表,例如: 0: 2 4 1: 2 4 2: 3 4 3: 4 4: 0 1 2 3 (0指向2和4; 1指向2和4,依此类推.......
  • 1 votes
     answers
     views

    单个算法在定向和无向图上工作以检测周期?

    我一直在尝试实现一种算法来检测 directed and undirected graph 中的周期(可能是多少周期) . 这就是代码应该适用于有向图和无向图 . 在各种帖子中大多推荐使用 DFS or topological sort . 但在很大程度上,一切都针对无向图 . This link描述了一种循环检测方法 . 根据我的理解,这适用于有向图 . This link具有无向图中循环检测...
  • 5 votes
     answers
     views

    MySQL递归周期检测程序

    我有以下程序,用于检测带有边(单边)和边集(边集)的无向图中的循环 . 还有两个参数,left_set(用于存储要传递到递归的必要边)和循环(这是一个布尔值,最终确定图是否是循环的) . 出于某种原因,检测在第一次递归之后不起作用 . 以下代码包含解释详细信息的注释: THE FOLLOWING FUNCTIONS WERE IMPLEMENTED BY ME IN MYSQL (to avoid...
  • 4 votes
     answers
     views

    递归lambda表达式通过有向图找到路径?

    我需要在复杂的图形结构中找到一条或多条路径 . 该图使用类似于此的内容构建: class Node { public string Value { get; set;} public List<Node> Nodes { get; set;} public Node() { Nodes = new List<Node>();...
  • 3 votes
     answers
     views

    广度优先搜索算法

    就像我之前遇到的一个问题一样,我正在尝试创建一个广度优先的搜索算法,该算法采用图形并输出顶点访问顺序 . 它需要一个邻接矩阵(代表图形)作为输入,这是我到目前为止所拥有的 . import sys import Queue # Input has to be adjacency matrix or list graphAL2 = {0 : [1,2,3], 1 : [0,3,4]...
  • 5 votes
     answers
     views

    用于递归深度优先搜索以存储路径的额外空间

    我使用深度优先搜索来识别有向加权图中的路径,同时重新访问属于循环的节点,并根据行进的总距离设置截止条件,或者从源节点停止 . 据我所知,对于递归,深度优先搜索不需要显式堆栈结构,所以我想知道是否可以通过某种方式在没有显式堆栈的情况下进一步简化我的代码: public class DFSonWeightedDirectedGraph { private static final Strin...
  • 2 votes
     answers
     views

    无递归的二叉树遍历的直观解释

    我已经看过许多文章和书籍(以及Stack Overflow答案),它们展示了如何使用显式堆栈而不是递归来迭代地执行预订,顺序和后序深度优先树遍历 . 例如:https://en.wikipedia.org/wiki/Tree_traversal#Depth-first_search_2 前序遍历很简单,但我认为其他的很复杂而且很明显 . 是否有任何来源(最好是文章或书籍)直观地解释这些算法,所以你...
  • 0 votes
     answers
     views

    使用父项/子项展平树并返回所有节点

    这可能为时已晚,但在解决之前我无法入睡: 我有一些树,有一些父母,有孩子,还有孩子等 . 现在我需要一个函数来从树中获取所有节点 . 这是目前的工作方式,但只有一个深度: def nodes_from_tree(tree, parent): r = [] if len(tree.get_children(parent)) == 0: return parent ...
  • 1 votes
     answers
     views

    Undirected Graph的特殊广度优先搜索(bfs)

    我的问题主要与算法有关,而不是特定于特定的编程语言 假设我们有一个由列表列表表示的图形,其中每个内部列表代表两个节点和一个编号边缘,Is是否可以使用 ONLY 以下12个函数实现递归BFS(广度优先搜索)函数?我们的bfs递归函数应该有5个参数: 要搜索的图表 要查找的元素 搜索队列 访问过的节点列表 我们正在关注的当前元素 图表示例: e1 / \ e2 e3...
  • -1 votes
     answers
     views

    如何使用递归进行分而治之以找到A [i] = i

    我正在尝试使用递归二进制搜索方法,以便找到A [i] = i时给出一个按升序排序的不同数量的'n'元素 . 我理解如何使用递归二进制搜索方法给定我需要搜索的目标,但是当我必须将键值增加1并搜索A [i] = i时,我似乎无法实现 . public static int match_dac( int[] A, int n ) { return dnq(A, 0, n-1, 0); } p...
  • 47 votes
     answers
     views

    使用Pickle / cPickle命中最大递归深度

    背景:我正在使用最小构造算法构建一个代表字典的trie . 输入列表是4.3M utf-8字符串,按字典顺序排序 . 生成的图形是非循环的,最大深度为638个节点 . 我的脚本的第一行通过 sys.setrecursionlimit() 将递归限制设置为1100 . 问题:我希望能够将我的trie序列化到磁盘,因此我可以将其加载到内存中而无需从头开始重建(大约22分钟) . 我同时尝试了文本和二进...
  • 0 votes
     answers
     views

    python递归迭代超过树实现的限制

    我正在python中动态实现一棵树 . 我已经定义了一个类如下 class nodeobject(): def __init__(self,presentnode=None,parent=None): self.currentNode = presentnode self.parentNode = parent self.childs = ...
  • 2 votes
     answers
     views

    在数组中反向递归以查找父ID

    试图找出一种获取多维数组中项的父ID的方法: $Arr = array( array( "Id" => 1, "Parent" => 0, "Children" => array( array( "I...
  • 0 votes
     answers
     views

    递归找到最便宜的可能路径

    我正在尝试编写一个解决方案,通过一个数组找到最便宜的可能路径,并将整数值存储为游戏位置 . 这个想法是从第一个索引到最后一个索引,并根据您决定“停止”的索引产生最便宜的成本 . 您可以从您所在的位置移动到下一个索引,也可以将该索引跳转到下一个索引(ind 1 vs ind 2),直到到达结尾 . 我下面的内容是返回一个大的负整数,这显然是非常错误的 . 我相当肯定它与我如何控制当前位置有关,并且我...
  • 0 votes
     answers
     views

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

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

    用Java解决2D迷宫

    我一直在尝试制作一个解决2D整数迷宫的程序 . 我一直得到 stackOverFlowError . 我将案件纳入 preferences in movement ,即北,南,东,西 . 我在 recursive method 找不到问题 . import java.util.*; import java.awt.*; public class Runner { private static i...
  • 1 votes
     answers
     views

    如何在java中使用2d数组迷宫查找路径

    B B B B B B B B O B B B S O B B O O B B B B X B B 这里, S =起点(2,2) B =阻止 O =开放 X =退出 我想制作一个可以检查北,西,东,南的迷宫 . 如果X在它周围,它将返回程序 . 如果没有,则检查起点周围的任何“O”并递归传递新的起始点 . 它没有办法去,'X'没有被发现它将回到原始起点(2,2)并检查西,东和南 . 在节...

热门问题