Can a question which can be solved with dfs can also be solved with bfs if we use the right modifications and ideas¿
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Can a question which can be solved with dfs can also be solved with bfs if we use the right modifications and ideas¿
Name |
---|
No. For example, take the problem that says "Implement a DFS".
No, you can hit memory constraints. For details you can look at USACO Disruption's intended solution.
The problem involved merging two sets of subtrees at every node. Doing so with dfs can use O(n) memory by deleting/allocating as necessary, but with bfs you have to store everything.
Of course, this doesn't mean you need recursion. You can do it iteratively, it just wouldn't be bfs (because you loop bottom to top).