2018-09-01から1日間の記事一覧
ReasonMlによるマージソートの実装。 今まではよくわかんなかったけど、マージソートの意味がやっとわかった。 /* 目的:2つのリストを受け取ってくっつける */ /* merge: list(`a) => list(`a) => list(`a) */ /* 先頭の要素同士を比較して、小さい方を前に…
再帰には先頭再帰と末尾再帰がある。先頭再帰は最後まで呼び出してから帰ってくる。 シンプルでデータの流れがわかりやすい。末尾再帰は後ろを呼び出ながらデータを渡す。 データを引数として渡すから少し複雑になる。 でも、スタックオーバーフローが起こら…