深度优先搜索和广度优先搜索

来源:互联网 发布:ps淘宝排版教程视频 编辑:程序博客网 时间:2024/05/22 07:55

(DFS)深度优先搜索,伪代码如下:

void DFS_search(Node root){if(root==null) return;visit(root);//例如打印该结点。root.visited=true;//visited 布尔类型变量,用于标识该结点是否被访问过。foreach(Node n in root.adjacent){//遍历该结点的所有邻接结点。if(n.visited==false){DFS_serach(n);//递归搜索}}}

(BFS)广度优先搜索,伪代码如下:

void BFS_search(Node root){Queue queue = new Queue();root.visited = true;visit(root);//例如打印该结点。queue.enqueue(root);//加至队列尾部while(!queue.isEmpty()){Node r = queue.dequeue();//从队列头部移除foreach(Node n in r.adjacent){if(n.visited == false){visit(n);n.visited = true;queue.enqueue(n);}}}}




0 0