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

深度优先搜索

1
2
3
4
5
6
7
8
9
10
11

void dfs(int step){
//判断边界
//尝试每一种可能
for(int i = 1; i <= n; i++){
//继续下一步
dfs(step + 1);
}
//返回
return;
}

广度优先搜索

1
2
3
4
5
6
7
8
9
void bfs(){
//声明队列
//根节点入队
while // 队列不为空
// 获取队头元素
// 获取队头元素子孩子
// 孩子入队
// 队头元素出队
}