# アルゴ式: 917 Q2. 二分探索木への挿入 (1) (Swift)

## [Q2. 二分探索木への挿入 (1)](https://algo-method.com/tasks/917)

- 理解を問う問題で、入力なしでテキストで形式
- 逆にこういうときはしっかり構造を作ってしまうね
- 提出時はInt前提でコードを書いたけれども、その後、Comparableを受け入れるように変更もした
- `append(contentsOf:)`が入れ子が深くなっているので、`append(_:)`を作りたい欲求は抑えた
- というかメソッド名はinsertの方が良かったか…
- きっと今後作る機会はあるはず…
- こういう二分木のコードってどれぐらい使いまわせるのかいまいち掴めていない
- 今はとりあえず書き慣れて、すっと実装できるようになりたい
- 今回もplaygroundで、classでComparableに準拠しようとしたらrun(readLine:print:)内だとダメで、外に出すと問題なかった
- ここら辺のどうして関数内だとダメなのかまだわかっていない
- 行きがけ順がどの巡回方法を指すのか覚えていられない…。
- 「行きがけ順」は親、左、右（根から辿っている順に出力する）
- 「通りがけ順」は左、親、右
- 「帰りがけ順」は左、右、親
- 日本語に振り回されている感があるけれど、子の左右は固定でそれに対して親がどの位置に来るか
- 行きと帰りがペアで、通りがけが値の順番になる出し方

[editorial]: https://algo-method.com/tasks/917/editorial

### 提出

- [AC](https://algo-method.com/submissions/433900)
