Add notes for BFS as well
This commit is contained in:
13
notes-and-examples/2026.07.21/breadth-first-search.md
Normal file
13
notes-and-examples/2026.07.21/breadth-first-search.md
Normal file
@@ -0,0 +1,13 @@
|
||||
## Breadth-first search (BFS)
|
||||
|
||||
In the notes on [depth-first search](./depth-first-search.md), we mention that the difference between DFS and BFS is the order in which nodes are traversed.
|
||||
|
||||
Using the same example, what would a breadth-first traversal look like if we start at vertex 0 in this graph?
|
||||
|
||||
```
|
||||
0 --- 1
|
||||
| |
|
||||
3 --- 2
|
||||
```
|
||||
|
||||
Can we also formalize an algorithm for breadth-first search?
|
||||
@@ -40,13 +40,7 @@ What about this one?
|
||||
|
||||
Based on these examples, can we create a formal algorithm that takes a starting node, producing a valid traversal path for all three graphs?
|
||||
|
||||
An example for this graph:
|
||||
Some starter questions:
|
||||
|
||||
```
|
||||
0 --- 1
|
||||
| |
|
||||
3 --- 2
|
||||
```
|
||||
|
||||
- Arguments: starting node `0`
|
||||
- Expected output:
|
||||
- Could recursion help us here?
|
||||
- What are some ways we can track already-visited nodes? What's the most *time-efficient* way to do so?
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
## Outline
|
||||
|
||||
To make our knowledge of graphs useful, we'll go over our first traversal method today: [depth-first search](./depth-first-search.md). If we have time we'll go over breadth-first search, which is the relative to depth-first search.
|
||||
To make our knowledge of graphs useful, we'll go over our first traversal method today: [depth-first search](./depth-first-search.md). We will also go over [breadth-first search](./breadth-first-search.md), and how both algorithms can be useful.
|
||||
|
||||
Assignment: finish the code for depth-first search, and also implement breadth-first search.
|
||||
|
||||
Reference in New Issue
Block a user