タグ

recursive-functionに関するnabinnoのブックマーク (5)

  • ハノイの塔 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ハノイの塔" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年7月) 8つの円盤のハノイの塔 ハノイの塔(ハノイのとう、英: Tower of Hanoi)は、パズルの一種。 バラモンの塔または ルーカスタワー(英: Lucas' Tower)[注 1]とも呼ばれる。 ルール[編集] 以下のルールに従ってすべての円盤を右端の杭に移動させられれば完成。 3の杭と、中央に穴の開いた大きさの異なる複数の円盤から構成される。 最初はすべての円盤が左端の杭に小さいものが上になるように順に積み重ねられている。 円盤を一回に一枚ずつどれかの杭

    ハノイの塔 - Wikipedia
  • JavaScript・再帰・トランポリン - Qiita

    現状整理 JavaScript では末尾再帰最適化(PTE: Proper Tail Call) は、完全には期待できない https://kangax.github.io/compat-table/es6/ 末尾再帰による最適化 - Qiita なので再帰は注意して使わねばならない スタックオーバーフローしないことをチェック 再帰を辞めて for 文とかに何とか変換する とはいえ再帰を使いたい こともある じゃあどうするか?が稿の目的 再帰におけるスタックオーバーフローは、末尾再帰の最適化ができる他の言語でも起こりえる(例: 末尾再帰できない場合)。じゃあ、他の言語の場合どうしているかというと、トランポリンするらしい。もちろん JavaScript でもトランポリンできる。トランポリンすると、再帰が深くなってもスタックオーバーフローしない。 処方箋 ざっくりいうと以下の処方でスタックオ

    JavaScript・再帰・トランポリン - Qiita
  • μ再帰関数 - Wikipedia

    μ再帰関数(ミューさいきかんすう、英: μ-recursive function)または帰納的関数(きのうてきかんすう)とは、数理論理学と計算機科学において、直観的に「計算可能」な自然数から自然数への部分関数のクラスである。計算可能性理論では、μ再帰関数はチューリングマシンで計算可能な関数と正確に一致することが示されている。μ再帰関数は原始再帰関数(原始帰納的関数)と密接な関連があり、その帰納的定義(後述)は原始再帰関数に基づいている。ただし、μ再帰関数が全て原始再帰関数とは言えない。そのような例としてアッカーマン関数がある。 また、ラムダ計算で記述される再帰関数やマルコフアルゴリズムで計算できる関数も同じである。 計算複雑性理論では、全再帰関数の集合をRと称する。 定義[編集] μ再帰関数(または部分μ再帰関数)は、有限個の自然数の引数をとり、1つの自然数を返す部分関数である。μ再帰関数

  • Functional Imperative Programming With Elixir · Bitwalker

  • Elixir. Multiple processes. Basics. | What did I learn

    This time we will go deeper and get familiar with the concurrent programming in Elixir. We will meet processes. Will learn what are they, why do we need them and how to work with them. What is a concurrency Concurrency is the ability to execute several parts or instances of the same program at the same time. In the same way, as you can have several applications running at the same time on your com

  • 1