void BFS() { queue<int> q; while(!q.empty) //队列非空 { int top=q.front(); //取队首元素 q.pop(); //出队 寻找top结点的所有下一个结点; if(结点满足题目的条件) break; else 将其全部进队; } } void dfs() { if(达到搜索的极限位置) { 相应计数++ return; } else { 相应条件改变; 下一种情况进行搜索; 还原刚才改变的条件; //回溯 } }