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?
|
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:
|
||||||
|
|
||||||
```
|
- Could recursion help us here?
|
||||||
0 --- 1
|
- What are some ways we can track already-visited nodes? What's the most *time-efficient* way to do so?
|
||||||
| |
|
|
||||||
3 --- 2
|
|
||||||
```
|
|
||||||
|
|
||||||
- Arguments: starting node `0`
|
|
||||||
- Expected output:
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
## Outline
|
## 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