mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-17 01:06:07 +00:00
build
This commit is contained in:
@@ -12,7 +12,7 @@ The common traversal methods for binary trees include level-order traversal, pre
|
||||
|
||||
As shown in Figure 7-9, <u>level-order traversal</u> traverses the binary tree from top to bottom, layer by layer. Within each level, it visits nodes from left to right.
|
||||
|
||||
Level-order traversal is essentially <u>breadth-first traversal</u>, also known as <u>breadth-first search (BFS)</u>, which embodies a "expanding outward circle by circle" layer-by-layer traversal method.
|
||||
Level-order traversal is essentially <u>breadth-first traversal</u>, also known as <u>breadth-first search (BFS)</u>, which proceeds outward level by level.
|
||||
|
||||
{ class="animation-figure" }
|
||||
|
||||
@@ -341,7 +341,7 @@ Breadth-first traversal is typically implemented with the help of a "queue". The
|
||||
|
||||
## 7.2.2 Preorder, Inorder, and Postorder Traversal
|
||||
|
||||
Correspondingly, preorder, inorder, and postorder traversals all belong to <u>depth-first traversal</u>, also known as <u>depth-first search (DFS)</u>, which embodies a "first go to the end, then backtrack and continue" traversal method.
|
||||
Correspondingly, preorder, inorder, and postorder traversals all belong to <u>depth-first traversal</u>, also known as <u>depth-first search (DFS)</u>, which goes as deep as possible before backtracking.
|
||||
|
||||
Figure 7-10 shows how depth-first traversal works on a binary tree. **Depth-first traversal is like "walking" around the perimeter of the entire binary tree**, encountering three positions at each node, corresponding to preorder, inorder, and postorder traversal.
|
||||
|
||||
@@ -816,12 +816,12 @@ Depth-first search is usually implemented based on recursion:
|
||||
|
||||
!!! tip
|
||||
|
||||
Depth-first search can also be implemented based on iteration, interested readers can study this on their own.
|
||||
Depth-first search can also be implemented iteratively, and interested readers can explore this on their own.
|
||||
|
||||
Figure 7-11 shows the recursive process of preorder traversal of a binary tree, which can be divided into two opposite parts: "recursion" and "return".
|
||||
Figure 7-11 shows the recursive process of preorder traversal of a binary tree, which can be divided into two opposite phases: "descending" and "returning".
|
||||
|
||||
1. "Recursion" means opening a new method, where the program accesses the next node in this process.
|
||||
2. "Return" means the function returns, indicating that the current node has been fully visited.
|
||||
1. "Descending" means making a new recursive call, during which the program visits the next node.
|
||||
2. "Returning" means the function call returns, indicating that the current node has been fully processed.
|
||||
|
||||
=== "<1>"
|
||||
{ class="animation-figure" }
|
||||
|
||||
Reference in New Issue
Block a user