概念
通过进行递归操作或者通过队列的特殊性质进行解题的一种算法,分为深度优先搜索(dfs)和广度优先搜索(bfs)。
递归+枚举?
实现
深度优先搜索
在树状结构可以数组实现中以深度优先的方式遍历每一结点,但是因为递归比较占空间,所以只有在数据量较少的时候可以使用。
给个模板:
1 | void dfs(按照题目要求传入参数){ |
广度优先搜索
顾名思义,以广度优先的方式遍历每一个节点,即先遍历完上层的再遍历下层的。
似乎大多数使用队列实现?
代码:
1 | void bfs(){ |
通过进行递归操作或者通过队列的特殊性质进行解题的一种算法,分为深度优先搜索(dfs)和广度优先搜索(bfs)。
递归+枚举?
在树状结构可以数组实现中以深度优先的方式遍历每一结点,但是因为递归比较占空间,所以只有在数据量较少的时候可以使用。
给个模板:
1 | void dfs(按照题目要求传入参数){ |
顾名思义,以广度优先的方式遍历每一个节点,即先遍历完上层的再遍历下层的。
似乎大多数使用队列实现?
代码:
1 | void bfs(){ |