2 xiao3251139 xiao3251139 于 2016.03.14 20:09 提问

广度优先搜索怎么实现

一幅有向图,每个点对应一定数量邻节点,现在我想保存一层到n层所有节点和路径(n<8).该怎么写

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.14 20:23
 伪代码:
void search(Node node, int depth)
{
    if (depth > 8) return;
    for (i=0; i < node.Nodes.length; i++)
        {
            output(node.Nodes[i]);
        }
    for (i=0; i < node.Nodes.length; i++)
        {
            search(node.Nodes[i], depth+1);
        }
}
xiao3251139
xiao3251139 回复caozhy: 你这个是每一层节点已知,我这个是节点未知,只有每一个点到下一层的邻接点
2 年多之前 回复
xiao3251139
xiao3251139   2016.03.14 20:35

你这个是每一层的节点已知,我需要的是节点未知,只知道每个节点的邻接点

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
广度优先搜索,队列实现
广度优先搜索,队列实现
广度优先搜索的实现
图的遍历是指从图中的某一个顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次且仅访问一次。注意到树是一种特殊的图,所以树的遍历实际上也可以看作是一种特殊的图的遍历。图的遍历主要有两种算法:广度优先搜索(Breadth-First-Search)和深度优先搜索(Depth-First-Search)。 一、广度优先搜索(BFS)的算法思想 广度优先搜索类似于二叉树的层序遍历,它的基本
广度优先搜索(BFS+STL queue)实现
宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。 整体思路:从起点向四周同时前进,得到
数据结构之广度优先搜索(队列实现)问题
Description 定义一个二维数组:  int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。
广度优先搜索的c语言实现
今天下午有时间,好奇图论,所以把算法导论的22章的图论的基础给看了一下,最后那个强连通分量我没看,不知道有什么用处,等到要用的时候再看吧,一切按照兴趣走。晚上花了两个多小时把广度优先搜索的部分给实现了一遍,感觉还是比较棒的。整个过程中的数据结构方面,我没有因为实现方面的原因而浪费空间,尽力实现了这个广度优先搜索。     直接上附上代码,以后直接在代码上注释吧,不过多地写废话了,一些概念都在书上
利用队列实现广度优先搜索
//广度优先搜索 private static void bfs(Node root) { LinkedList queue = new LinkedList(); queue.add(root); boolean[] flag = new boolean[N]; Arrays.fill(flag, false); while (!queue.isEmpty())
广度优先搜索(BFS)java实现
广度优先搜索(BFS)java实现
java实现图的深度优先搜索和广度优先搜索
java实现图的深度优先搜索和广度优先搜索
广度优先搜索(队列实现)
package kuanDuYouXian;import java.util.Scanner; class note{ int x; int y; int f; int s; public note() { } } /** * @author Administrator * 宽度优先搜索,用队列来解 */ public class kuanD
邻接矩阵实现深度优先搜索,广度优先搜索
#include<stdio.h> const int N=20; #define TRUE 1 #define FALSE 0 int visited[N]; typedef struct /*队列的定义*/ { int data[N]; int front,rear; } queue; typedef struct /*图的邻接矩阵*/ { int vexnu