回答編集履歴
2
fix small
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
「新しい順から」という言葉を明確にすると、「2のノードの`array = tree.Left.InOrderTraverse(array)`の代入が実行される」です。
|
55
|
+
「新しい順から始まる」という言葉を明確にすると、「2のノードの`array = tree.Left.InOrderTraverse(array)`の代入が実行される」です。
|
56
56
|
|
57
57
|
|
58
58
|
|
@@ -394,4 +394,8 @@
|
|
394
394
|
|
395
395
|
|
396
396
|
|
397
|
+
要点だけを話したので、更に詳しく知りたい場合は「関数 呼び出し 仕組み」や「再帰 スタックメモリ」などで調べると良いと思います。ここら辺はコンピュータサイエンスの分野になるので、「実行できれば良い」というスタンスなら別に知る必要はないと思います。
|
398
|
+
|
399
|
+
|
400
|
+
|
397
401
|
長くなりましたが、プログラムが実行される時にどのように実行されるかを理解するのは非常に重要で為になります。引き続き頑張ってください。
|
1
fix small
test
CHANGED
@@ -6,6 +6,8 @@
|
|
6
6
|
|
7
7
|
> 例えば、まず`if tree.Left != nil`を通してnodeを1まで進め(リーフノード)、そのループ時はnilとなるので`append`される
|
8
8
|
|
9
|
+
|
10
|
+
|
9
11
|
不明瞭なので、書き直すと下記の通りです。
|
10
12
|
|
11
13
|
|
@@ -18,6 +20,8 @@
|
|
18
20
|
|
19
21
|
> 関数が終了してしまうのでは
|
20
22
|
|
23
|
+
|
24
|
+
|
21
25
|
と書かれていますが、1のノードに生えているメソッドInOrderTraverseについて、この理解は正しいです。
|
22
26
|
|
23
27
|
(本質ではないですが、InOrderTraverseはレシーバに生えているので**関数ではなくメソッド**です。)
|