無限再帰とは? わかりやすく解説

無限再帰

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/17 09:59 UTC 版)

無限ループ」の記事における「無限再帰」の解説

無限再帰とは、無限ループ特例で、再帰発生する無限ループである。最も些細な例としては、次のScheme示したラムダ計算の Ω項である。 (define Ω(let ([ω (lambda (f) (f f))])(ω ω))) Ω は無限再帰なので、正規形持たない基底ケース無かったり、帰納段階不完全な構造的再帰では、普通は無限再帰になってしまう。このような不完全な構造的再帰の例は次の通り。 (define (sum-from-1-to n)(+ n (sum-from-1-to (sub1 n)))) 関数 sum-from-1-to は決し再帰止まることはなく、スタック使い尽くすだろう。これを修正するには、基底ケース追加する。 (define (sum-from-1-to' n)(cond[(= n 1) 1][else (+ n (sum-from-1-to' (sub1 n)))])) 修正した関数は、n が 1 未満か、n が大きすぎる時にだけ、スタック使い尽くすが、最初ケースエラーチェックすれば回避できるスタック使い尽くすことのない再帰関数については、末尾再帰参照のこと。

※この「無限再帰」の解説は、「無限ループ」の解説の一部です。
「無限再帰」を含む「無限ループ」の記事については、「無限ループ」の概要を参照ください。

ウィキペディア小見出し辞書の「無限再帰」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「無限再帰」の関連用語

無限再帰のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



無限再帰のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの無限ループ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS