depth-first-search

    3热度

    1回答

    我有关于深度优先遍历的冲突信息,并且可以在理解如何构建程序时使用一些帮助。给定一个图,我想打印一个顶点序列。用户将输入一个特定的节点来开始遍历。我正在看不同的例子,我不明白深度优先遍历的顺序是如何工作的。我有以下的伪代码一起工作: public DFS() { DFS(v) { num(v) = i ++; for all vertices u adjacent t

    0热度

    1回答

    我正在尝试实现非加权图的邻接表以及一些问题/疑虑。我知道我需要一个链表来存储边和一个数组来存储顶点。目前我有一个(基本的)节点类和一个Graph类,它负责将边添加到特定的顶点。但是,这并没有明确定义边的链表。我想做一个DFS和BFS,想知道我应该怎么做?我是否需要更改我现在已经包含这些方法的代码。帮助将不胜感激。 // Inside the graph class public boo

    1热度

    2回答

    寻找一些有解释的代码示例。维基百科对此太抽象了。

    4热度

    4回答

    我有这个代码遍历树,进行深度优先搜索。每个元素都只处理一次。很好。 -(void)iterateOverTree:(TreeNode *)node { NSMutableArray * elements = [NSMutableArray array]; [elements addObject:node]; while([elements count])

    1热度

    3回答

    正如有人为母亲语言(俄罗斯)我读这篇文章在维基百科谁没有英语:http://en.wikibooks.org/wiki/Artificial_Intelligence/Search/Heuristic_search/Depth-first_search ,我试图跟写在铁杆英语用更少的资源没有解释或评论这个伪代码示例。 特别是,我不明白他们试图用这句话说什么: DFS(u): visit(u);

    0热度

    2回答

    我有麻烦随机访问从一个节点到它的邻居,很少是整个图(一个MxN数组,在这个测试4x4)访问,我没有得到我在这里做错了。 import java.util.ArrayList; class IJ { int i; int j; IJ (int i,int j){ i = this.i; j= this.j; } }

    1热度

    3回答

    对于DFS迷宫代在Java中,我想随机其中DFS的递归调用发生的顺序: for (int rows=i; rows<M; rows++) for (int cols=j; cols<N; cols++){ if(northValid) { DFS(iNorth,j); } if(southValid){

    2热度

    4回答

    我使用深度优先搜索来生成迷宫。 M * N顶点的邻接矩阵是使用DFS以随机顺序遍历的,我只关心产生一个随机路由。 事情正常工作与顶点的数量减少,但 Graph theGraph = new Graph(1000,1000); 使用的问题时,我发现了一个StackOverflow的例外: 一)我怎样才能改变这种迭代的递归调用使用堆栈? b)有没有办法给方法调用堆栈分配更多内存? class IJ

    1热度

    1回答

    我正在通过堆栈实现通过矩阵的DFS迭代搜索以便稍后生成迷宫。事情是卡住推的第一个元素而没有弹出它: void DFS_I(int i, int j){ // receives starting position IJ aux = new IJ (i,j); int [][] movement = {{0,1},{1,0},{0,-1},{-1,0}}; Stac

    2热度

    1回答

    我有一个无向图,表示为欧几里德权重的邻接矩阵。我使用它来表示较大完整图的最小生成树。 我想找到的是图中的单个节点,当它用作根节点时,会创建尽可能短的树高。我想到的是以每个节点为根节点执行深度优先遍历,并跟踪所看到的最短高度。有更快的方法来完成这个吗?