回答編集履歴

2

fix small

2021/02/26 18:30

投稿

task4233
task4233

スコア106

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

2021/02/26 18:30

投稿

task4233
task4233

スコア106

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はレシーバに生えているので**関数ではなくメソッド**です。)