次へ 前へ 目次へ 佐々木将人の個人ページへ
11 効率化のための末尾再帰
なれると再帰というのは,余計な変数を使ってあらぬミスを招くということがありませんし,幸せになれるのですが……。
一方,コンピューターには負担をかけているわけです。
それでも前に出したリストの長さを調べるような場合には,書換の必要はないと思われますが,それでも長さ5のリストを求めるために,まず長さ0のリストになるまでの過程を5段階覚えておき,その5段階を遡って答を求めたわけです。もしリストの長さが100万だとすると,100万段階を全て覚えておく必要があります。(場合によってはメモリーその他記憶容量をあふれさせてしまいます。)
そこで,効率を求める場合には,再帰でも末尾再帰という形に変形することが行われます。
(2023.6.4. 初版)
次へ 前へ 目次へ 佐々木将人の個人ページへ