我が彼氏Rは今現在ハノイに滞在しているのであるが、そういえばプログラミングの学習で「ハノイの塔」という課題があったなぁと思い出す。
再帰(recursive)アルゴリズムを習った後に応用課題として必ず出てくる問題「ハノイの塔」。まぁ問題を見れば子ども向け課題でよくあるやつなんだけれども、これをプログラムで解決してみましょうって課題(こうすればいいっていうのをアルゴリズムとして言語化して書けますか?)。再帰(recurisive)っていうのは非常に重要な考え方でプログラマとしては絶対に押さえておかなければならない初歩。ただし、再帰はわかりやすい反面、ヘタするとものすごく時間のかかるアルゴリズムで、うっかりすると永遠に返ってこなくなったりすることもあるのだけれども(無限ループに陥る)、プログラマとしてやっていくにはこれをおさえておかないと致命的。
初級から一歩上を目指すプログラマの場合は、これを理解したうえで、「ハノイの塔」を再帰を使わないアルゴリズムで解くのが次のステップ。
こちらの記事もぜひ!!
- 読了:Javaによる関数型プログラミング[ヴェンカット・サブラマニアム/プログラミングシステム社] (2020年7月2日)
- 物騒なドキュメント (2020年2月13日)
- You ain’t gonna need it (2018年11月7日)
- PowerShell使いになりたい (2017年5月2日)
- エンジニアの言葉 (2017年4月27日)