@@ -6,7 +6,6 @@ import DocusaurusLink from "@docusaurus/Link";
66import Flex from " @components/Flex" ;
77import Image , { Center } from " @components/Image" ;
88import Steps from " @components/Steps" ;
9- import Tabs from " @components/Tabs" ;
109import { Link , Text } from " @components/Typography" ;
1110import { Collapse } from " @components/collapse" ;
1211
@@ -55,144 +54,88 @@ import PreOrderRecursiveContent from "../../_contents/tree-traversal/recursive/p
5554 1 . 迭代通常用于树的遍历,通过迭代可以快速遍历所有节点
5655 2 . 迭代通常使用栈或队列实现
5756
58- <Collapse label = " 代码块以及图例" >
59- <Tabs
60- items = { [
61- {
62- label: " 前序遍历" ,
63- key: " preOrder" ,
64- forceRender: true ,
65- children: [
66- <Center
67- key = " preOrderImage"
68- src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的前序遍历-2024-11-20-20-41-25.png"
69- alt = " 二叉树的前序遍历"
70- />,
71- <Tabs
72- key = " preOrderTabs"
73- items = { [
74- {
75- label: " 递归遍历" ,
76- key: " preOrderRecursive" ,
77- children: <PreOrderRecursiveContent />,
78- forceRender: true
79- },
80- {
81- label: " 迭代遍历" ,
82- key: " preOrderLoop" ,
83- children: <PreOrderLoopContent />,
84- forceRender: true
85- }
86- ]}
87- />
88- ].map ((item ) => ({
89- ... item ,
90- forceRender: true
91- }))
92- },
93- {
94- label: " 中序遍历" ,
95- key: " inOrder" ,
96- forceRender: true ,
97- children: [
98- <Center
99- key = " inOrderImage"
100- src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的中序遍历-2024-11-20-20-44-04.png"
101- alt = " 二叉树中序遍历"
102- />,
103- <Tabs
104- key = " inOrderTabs"
105- items = { [
106- {
107- label: " 递归遍历" ,
108- key: " inOrderRecursive" ,
109- children : (
110- <>
111- <InOrderRecursiveContent />
112- </>
113- ),
114- forceRender: true
115- },
116- {
117- label: " 迭代遍历" ,
118- key: " inOrderLoop" ,
119- children: <InOrderLoopContent />,
120- forceRender: true
121- }
122- ]}
123- />
124- ].map ((item ) => ({
125- ... item ,
126- forceRender: true
127- }))
128- },
129- {
130- label: " 后序遍历" ,
131- key: " postOrder" ,
132- forceRender: true ,
133- children: [
134- <Center
135- key = " postOrderImage"
136- src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的后序遍历-2024-11-20-20-44-31.png"
137- alt = " 二叉树后序遍历"
138- />,
139- <Tabs
140- key = " postOrderTabs"
141- items = { [
142- {
143- label: " 递归遍历" ,
144- key: " postOrderRecursive" ,
145- children: <PostOrderRecursiveContent />,
146- forceRender: true
147- },
148- {
149- label: " 迭代遍历" ,
150- key: " postOrderLoop" ,
151- children: <PostOrderLoopContent />,
152- forceRender: true
153- }
154- ]}
155- />
156- ].map ((item ) => ({
157- ... item ,
158- forceRender: true
159- }))
160- },
161- {
162- label: " 层序遍历" ,
163- key: " levelOrder" ,
164- forceRender: true ,
165- children: [
166- <Center
167- key = " levelOrderImage"
168- src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的层序遍历-2024-11-20-20-44-50.png"
169- alt = " 二叉树层序遍历"
170- />,
171- <Tabs
172- key = " levelOrderTabs"
173- items = { [
174- {
175- label: " 递归遍历" ,
176- key: " levelOrderRecursive" ,
177- children: <LevelOrderRecursiveContent />,
178- forceRender: true
179- },
180- {
181- label: " 迭代遍历" ,
182- key: " levelOrderLoop" ,
183- children: <LevelOrderLoopContent />,
184- forceRender: true
185- }
186- ]}
187- />
188- ].map ((item ) => ({
189- ... item ,
190- forceRender: true
191- }))
192- }
193- ]}
194- />
195- </Collapse >
57+ :::::::collapse{ label = " 代码块以及图例" }
58+
59+ ::::::tabs
60+
61+ :::::tab{ title = " 前序遍历" key = " preOrder" }
62+ <Center
63+ key = " preOrderImage"
64+ src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的前序遍历-2024-11-20-20-41-25.png"
65+ alt = " 二叉树的前序遍历"
66+ />
67+ ::::tabs
68+
69+ :::tab{ title = " 递归遍历" key = " preOrderRecursive" }
70+ <PreOrderRecursiveContent />
71+ :::
72+
73+ :::tab{ title = " 迭代遍历" key = " preOrderLoop" }
74+ <PreOrderLoopContent />
75+ :::
76+ ::::
77+
78+ :::::
79+
80+ :::::tab{ title = " 中序遍历" key = " inOrder" }
81+
82+ <Center
83+ key = " inOrderImage"
84+ src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的中序遍历-2024-11-20-20-44-04.png"
85+ alt = " 二叉树的中序遍历"
86+ />
87+
88+ ::::tabs
89+
90+ :::tab{ title = " 递归遍历" key = " inOrderRecursive" }
91+ <InOrderRecursiveContent />
92+ :::
93+ :::tab{ title = " 迭代遍历" key = " inOrderLoop" }
94+ <InOrderLoopContent />
95+ :::
96+
97+ ::::
98+
99+ :::::
100+
101+ :::::tab{ title = " 后序遍历" key = " postOrder" }
102+ <Center
103+ key = " postOrderImage"
104+ src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的后序遍历-2024-11-20-20-44-31.png"
105+ alt = " 二叉树的后序遍历"
106+ />
107+
108+ ::::tabs
109+
110+ :::tab{ title = " 递归遍历" key = " postOrderRecursive" }
111+ <PostOrderRecursiveContent />
112+ :::
113+ :::tab{ title = " 迭代遍历" key = " postOrderLoop" }
114+ <PostOrderLoopContent />
115+ :::
116+
117+ ::::
118+
119+ :::::
120+
121+ :::::tab{ title = " 层序遍历" key = " levelOrder" }
122+ <Center
123+ key = " levelOrderImage"
124+ src = " https://cdn.jsdelivr.net/gh/heliannuuthus/heliannuuthus.github.io@assets/static/img/2024-11-20/二叉树的层序遍历-2024-11-20-20-44-50.png"
125+ alt = " 二叉树的层序遍历"
126+ />
127+ ::::tabs
128+
129+ :::tab{ title = " 递归遍历" key = " levelOrderRecursive" }
130+ <LevelOrderRecursiveContent />,
131+ :::
132+ :::tab{ title = " 迭代遍历" key = " levelOrderLoop" }
133+ <LevelOrderLoopContent />,
134+ :::
135+ ::::
136+ :::::
137+ ::::::
138+
196139
197140#### 二叉树的性质
198141
@@ -284,25 +227,19 @@ import PreOrderRecursiveContent from "../../_contents/tree-traversal/recursive/p
284227 }
285228 ]}
286229/>
230+ :::::collapse{ label = " 代码块以及正在画的图例" }
231+
232+ ::::tabs
233+
234+ :::tab{ title = " 前序和中序" key = " preAndInOrder" }
235+ <PreAndInOrderBuildTreeContent />
236+ :::
287237
288- <Collapse label = " 代码块以及正在画的图例" >
289- <Tabs
290- items = { [
291- {
292- label: " 前序和中序" ,
293- key: " preAndInOrder" ,
294- children: <PreAndInOrderBuildTreeContent />,
295- forceRender: true
296- },
297- {
298- label: " 后序和中序" ,
299- key: " postAndInOrder" ,
300- children: <PostAndInOrderBuildTreeContent />,
301- forceRender: true
302- }
303- ]}
304- />
305- </Collapse >
238+ :::tab{ title = " 后序和中序" key = " postAndInOrder" }
239+ <PostAndInOrderBuildTreeContent />
240+ :::
241+ :::::
242+ :::::
306243
307244- [ 构造最大二叉树] ( https://leetcode.cn/problems/maximum-binary-tree/description )
308245
@@ -456,27 +393,20 @@ import PreOrderRecursiveContent from "../../_contents/tree-traversal/recursive/p
456393- 利用[ _ 线索二叉树_ ] ( https://en.wikipedia.org/wiki/Threaded_binary_tree ) 的性质,在遍历过程中减少空间复杂度
457394- 时间复杂度为 _ O(n)_ ,空间复杂度为 _ O(1)_ (不包括递归栈)
458395
459- <Collapse label = " 代码块" >
460- <Tabs
461- items = { [
462- {
463- label: " Morris 前序遍历" ,
464- key: " morrisPreOrder" ,
465- children: <MorrisTraversalPreOrderContent />,
466- forceRender: true
467- },
468- {
469- label: " Morris 中序遍历" ,
470- key: " morrisInOrder" ,
471- children: <MorrisTraversalInOrderContent />,
472- forceRender: true
473- },
474- {
475- label: " Morris 后序遍历" ,
476- key: " morrisPostOrder" ,
477- children: <MorrisTraversalPostOrderContent />,
478- forceRender: true
479- }
480- ]}
481- />
482- </Collapse >
396+ :::::collapse{ label = " 代码块" }
397+
398+ ::::tabs
399+
400+ :::tab{ title = " Morris 前序遍历" key = " morrisPreOrder" }
401+ <MorrisTraversalPreOrderContent />
402+ :::
403+
404+ :::tab{ title = " Morris 中序遍历" key = " morrisInOrder" }
405+ <MorrisTraversalInOrderContent />
406+ :::
407+
408+ :::tab{ title = " Morris 后序遍历" key = " morrisPostOrder" }
409+ <MorrisTraversalPostOrderContent />
410+ :::
411+ :::::
412+ :::::
0 commit comments