再帰と反復の違い

主な違い:プログラミングでは、再帰は再帰関数を考慮することで説明できます。 再帰的関数はコードを繰り返すためにそれ自身を再び呼び出すものです。 一方、反復は、コードの一部を繰り返すためにループする反復関数によって実現されます。

プログラミングでは、繰り返しを実現するために再帰と反復の両方が使用されます。 彼らは何度も繰り返されるプロセスを指します。 再帰は、条件が満たされるまで何かが自分自身を参照するというアプローチに基づいています。 メソッドは、直接または間接的に自分自身を呼び出すことができる場合、再帰的であると言われます -

void name()

{

... name()...

}

または

void name()

{

...ゲーム()...

}

void game(){

... name()...

}

再帰を成功させるためには、再帰プロセスで行われるすべての呼び出しが計算を単純化しなければならないことに留意しなければなりません。 再帰は基本ケースを定義することによって達成されます。

int階乗(int N)

{

(N == 0)の場合は1を返します。

そうでなければ(N *階乗(N-1))を返す。

}

この例では、再帰はステートメント(N * factorial(N-1))で簡単に見ることができ、そこでは階乗関数を再度呼び出しています。 再帰はコードの短縮に役立ちますので非常に役に立ちます。 ただし、再帰はパフォーマンスがやや遅くなります。

繰り返しはループに基づいています。 これらのループは明示的な反復処理を表します。 ループの要件を満たすためには、それ以上の反復を停止する何らかのタイプの基準が必要です。 ただし、ループ条件テストが偽にならない場合は、その条件では無限ループの発生は避けられません。 この例では、階乗は反復プロセスを使用して決定されています -

関数階乗(n)

{

varループ、結果。

結果= 1。

for(loop = 1; loop <= n; loop ++)

{

result = result * loop;

}

結果を返します。

}

この例では、1からnまでの整数を使用してループ処理を行い、それ以降のループ処理を停止するための基準としてloop <= nステートメントを使用します。 したがって、再帰と反復を使用しても同じ結果が得られると結論付けることができます。 ただし、どちらも少し異なるアプローチに基づいています。 どのような再帰的アルゴリズムも、反復(ループ)を使って書くことができます。

再帰と反復の比較

再帰

繰り返し

定義

再帰とは、コードを繰り返すために自分自身を再度呼び出す再帰関数のことです。

反復は、コードの一部を繰り返すためにループする反復関数によって実現されます。

重要なポイント

基本ケースを決定する必要があります

終了条件を決定する必要があります

パフォーマンス

比較的遅い

比較的速い

メモリ使用量

比較的もっと

比較的少ない

コード

小さい

より長いです

無限の繰り返し

無限再帰はシステムをクラッシュさせる可能性があります

無限ループはCPUサイクルを繰り返し消費します

構造

選択

繰り返し

ローカル変数

必須ではありません

必須

推奨されます

関連記事

  • 人気の比較: 新星と超新星の違い

    新星と超新星の違い

    主な違い: 星の突然の明るさは新星として知られていますが、その終点の始まりを知らせる星の過度の明るさは超新星として知られています。 新星と超新星は何ですか? 彼は彼らが星であると説明します。 実際の意味では、それらは星ではありませんが、星の突然の明るさと呼ばれています。 新星は恒星の突然の明るさによって形成され、恒星の明るさが終りの始まりを知らせるものである場合、それは超新星として知られています。 新星は基本的に白い矮星の核融合反応で、通常は小さな爆発です。 novaという単語はラテン語の単語の由来で、「すべて新しい星」という意味です。 新星は、しばらく星を明るくする表面上の核融合です。 ガスは圧縮されると加熱され、水素は表面を明るくして過剰なガスを外側に吹き出す核反応において炎の中を上昇する可能性があります。 この種の爆発は新星と呼ばれます。 超新星は新星より明るい。 超新星は、簡単な文では、星の人生の最後の段階です。 それは基本的にそれがもうその重力を維持することができないので星が完全に破壊されるときの手順です。 超新星が炎上すると、ブラックホールが形成されます。 現代の天文学者、UW-Madison Space Place所長のJim Lattisは、「これらの爆発につながるさまざまな過程がありますが、結局のところ、星が引き裂かれて以前より何十億倍も明るくなる」と述べました。
  • 人気の比較: ワイン、ブランデー、シャンパンの違い

    ワイン、ブランデー、シャンパンの違い

    主な違い: ワインは通常発酵ブドウから作られるアルコール飲料です。 ただし、フルーツワイン、ライスワインなどの他の材料から作ることもできます。ブランデーとは、ブランディワインの略で、ワインから蒸留したものです。 シャンパンはフランスのシャンパン地方で栽培されているブドウから生産される特別な種類のスパークリングワインです。 アルコールはいつも声明でした。 それは誇示するために裕福で堂々とした人々に酔っています、そしてまたパーティーに常連の人々によって酔っています。 実際、アルコールはほとんどすべてのパーティーで飲まれています。 そうでなければ、その意味では本当にパーティーにはならないでしょう。 しかしながら、様々な異なる種類のアルコールがあり、それぞれが様々な異なる理由から他よりも好ましい。 ワイン、ブランデー、シャンパンは、さまざまな種類のアルコールのうちの3つです。 ワインは通常、発酵ブドウから作られるアルコール飲料です。 しかし、それはフルーツワイン、ライスワインなどの他の材料からも作ることができます。「ワイン」という言葉はラテンワインから来ています。そしてそれは「ワイン」または「(ブドウ)つる」を表します。 ぶどうを発酵させることによって作られたワイン生産の最も初期の記録は、紀元前6世紀にまでさかのぼります。 ぶどうをつぶして汁を搾り取ることでワインが作られます。 次に酵母をジ
  • 人気の比較: 血漿と血清の違い

    血漿と血清の違い

    主な違い: 血液は人体の主要な構成要素です。 血液は、全血、血漿、白血球の3つの主要なカテゴリーに分類できます。 血液の約54.3%を占める血漿は、血液の液体媒体である液体です。 それは淡黄色で、本質的に体内のある場所から別の場所へ血球や血球を輸送するために使用されます。 血清は本質的に血漿であり、そこから凝固タンパク質、すなわちフィブリノーゲンが除去されている。 したがって、血清は、血漿から凝固タンパク質を除いたものです。 血液は人体の主要な構成要素であり、動物の体ではありません。 ヒトでは、血液が体重の7%を占めます。 平均的な成人の血液量は約5リットル、つまり1.3ギャルです。 人体についてのすべてが複雑で、血もそうです。 血液はさまざまな成分で構成されています。 血液は、全血、血漿、白血球の3つの主要なカテゴリーに分類できます。 全血が血液の45%、血漿が約54.3%、そして白血球が約0.7%を占めます。 全血はさらに個々の物質に分解することができます。 全血には、赤血球として一般に知られている赤血球、白血球としても知られている白血球、および血小板とも呼ばれる血小板を含む、いくつかの様々な種類の細胞が含まれています。 これら全ての細胞は一緒になって小球または形成された要素として知られている。 血液の約54.3%を占める血漿は、血液の液体媒体である液体です。 平均的な人体の体内
  • 人気の比較: 小切手と電子小切手の違い

    小切手と電子小切手の違い

    主な違い: 小切手または小切手とは、銀行口座から一定額の支払いを注文することを承認および指示する文書のことです。 用語としての小切手は通常の紙の小切手を指すために使用されますが、電子小切手は紙の小切手の電子版です。 小切手と電子小切手(eCheck)は同じものを指しますが、それでも小切手に添付されている電子という用語は基本的な紙の小切手に多数の機能強化をもたらします。 誰かが紙の小切手を指す場合、それを単に小切手と呼びますが、電子的な小切手は電子的に提示されるため、紙の小切手とは異なります。 両者の違いを説明しましょう。記事を読んだ後は、通常の紙の小切手よりもeChecksを使用する利点を容易に理解する必要があります。 小切手または小切手とは、銀行口座から一定額の支払いを注文することを承認および指示する文書のことです。 権限を与える人は引出しの名前で知られています。 引き出しには現在または当座預金口座があります。 この口座には入金されている可能性があります。 引き出しは、金額、受取人、日付などの詳細を書いてから署名します。 この文書は、小切手に記載されている金額を個人または会社に支払うように指示する銀行に提供されます。 引き出しが支払いをするためにお金を運ぶ必要がないので、これは役に立ちます。 20世紀の間に、小切手は非常に人気になり、ビジネス関連の取引のほとんどを実行するために使用
  • 人気の比較: 幹と幹の違い

    幹と幹の違い

    主な違い: 植物の茎は木の葉、花や果物をサポートする責任があります。 一方、木の幹は茎、葉、花、果物を含む木全体の構造を提供します。 幹はまた葉を根に接続します。 茎と体幹は、植物学でよく聞かれる言葉です。 それらは植物の一部であり、お互いに異なっていますが、それらの両方が植物の一部であるために何人かの人々のために混乱を引き起こすかもしれませんが。 幹は木全体を支える木の主な構造です。 幹という言葉は通常植物を指しますが、幹は木を指します。 植物の茎は維管束植物の二つの主な構造軸の一つです。 茎は2つの部分に分けられます。 ノードとノード間 節間は芽や新しい葉を保持する責任がありますが、節間は2つのノード間の距離です。 茎は茎と呼ばれる植物の構造上にあり、4つの基本的な機能を持っています。 茎は、葉、花、果物、その他の茎への支援、根と植物の他の部分との間の液体の輸送、栄養素の貯蔵、そして新しい生体組織の生産を担います。 植物には複数の茎があり、茎のライフサイクルは1年から3年です。 いくつかの植物の茎は食物として消費されます。 木の幹を支える役目を担うのは、木の幹や幹です。 幹は枝を支え、木を根につなぎ、生存に必要な栄養素にアクセスできるようにします。 幹は樹皮で覆われており、幹と比較して質感が異なります。 それはまた木の年齢を決定するのを助けるリングで覆われている。 木の幹はそれか
  • 人気の比較: サムスンギャラクシータブ3 10.1とネクサス10の違い

    サムスンギャラクシータブ3 10.1とネクサス10の違い

    主な違い: サムスンギャラクシータブ3 10.1は、デバイス上で提供されている10.1インチの画面にちなんで命名されています。 このデバイスは、8インチ相当品と同じ解像度を持っています。これにより、ppi密度は149 ppiに減少します。 このデバイスは、Intelが提供する1.6 GHzデュアルコアAtomプロセッサを搭載し、1 GBのRAMを提供します。 Nexus 10は、それとともにリリースされたAndroid 4.2(Jelly Beanとも呼ばれる)オペレーティングシステムを実行しているタブレットコンピュータです。 Samsungと共同開発しました。 サムスンは市場のすべての顧客を試して応えるために非常に革新的なアプローチをとった。 同社のアプローチには、1つのモデルをリリースしてからその同じ
  • 人気の比較: 健康管理と健康保険の違い

    健康管理と健康保険の違い

    主な違い: ヘルスケアは基本的に人々に医療を提供します。 健康保険は、その一方で、不健康の損失による保険の補償です。 ヘルスケアは個人に一次、二次、三次および四次治療を提供します。 基本的に、ヘルスケアは病気の診断、治療そして予防です。 それは専門の医者によって提供されます。 彼らはまた、 "開業医"と呼ばれています。 医療は開業医によって医学、検眼、歯科、看護、薬局、同盟の健康などの形で提供されます。肉体的および精神的な病気は健康管理の対象になります。 患者への健康管理は、非常に効率的に、技術的にそして専門的に提供されるべきです。 安全で安全なはずです。 医療ミスを避けることは非常に重要であり、時間を無駄にするべきではありません。 診断は健康管理の分野で重要な役割を果たしています。 今日では、科学技術のおかげで医療ははるかに進歩しています。 ヘルスケアは、個人が自分の病気を克服するのを助けるだけでなく、他のいくつかの病気を予防するのを助けます。 これらのサービスは通常、病院と医師で構成された医療システムを通じて提供されます。 健康保険は、健康上の問題や病気によって発生した損失を補償する保険です。 それは医学、医者または緊急治療室への訪問、入院その他の医療費の補償を提供します。 だからそれは人間のための保護シールドのようなものです。 健康保険の方針は会社によって異
  • 人気の比較: レーザーとレーシック眼科手術の違い

    レーザーとレーシック眼科手術の違い

    主な違い: レーザー眼科手術は一般的な用語です。 それはレーザーで行われるどんな目の手術も指します。 レーシック眼科手術はレーザー眼科手術の一種です。 レーザー眼科手術は一般的な用語です。 それはレーザーで行われるどんな目の手術も指します。 通常、目、特に角膜の不規則性を矯正するために効果的なレーザーが使用されます。 レーザーは主に目の中や周囲の組織を切断するために使用されます。 レーザーは狭く正確な位置を正確に突き止めることができるため、レーザーは眼科手術には非常に効果的です。 レーザー眼科手術は、視覚の問題を修正するための安全で効果的な方法です。 メガネを使用するための一定の必要性を取り除くために、多くの人がレーザー眼科手術に目を向けます。 一般に、レーザーによる眼科手術は、近視と遠視を矯正し、角膜を再形成するために使用されます。 レーザー眼科手術は、Jose Barraquerによって1950年代に最初に導入されました。 Barraquerは、コロンビアのボゴタで練習しているスペインの眼科医です。 彼の診療所で、彼はその形状を変えるために角膜の厚さ100分の1 mmの皮弁を切った。 1968年、マニラールバウミクはカリフォルニア大学ノースロップコーポレーションリサーチアンドテクノロジーセンターで炭酸ガスレーザを開発しました。 このレーザーは、今日のレーザー眼科手術で使用されてい
  • 人気の比較: SDKとフレームワークの違い

    SDKとフレームワークの違い

    主な違い: SDKはSoftware Development Kitの略です。 それはソフトウェア開発ツールのセットです。 このセットはアプリケーションの作成に使用されます。 フレームワーク(ソフトウェアフレームワーク)は基本的にソフトウェアアプリケーションを開発するために使用されるプラットフォームです。 これは、特定のプラットフォーム用にプログラムを開発するために必要な基盤を提供します。 したがって、SDKとFrameworkは互いに補完し合い、SDKはフレームワークに使用できます。 SDKはSoftware Development Kitの略です。 アプリケーションの開発に必要なツールとユーティリティが含まれています。 これには、特定のプログラミング言語とやり取りするためのファイル、組み込みシステムと対話するための高度なハードウェア、デバッグツールなどが含まれています。また、参考資料としてサンプルコードやその他のドキュメントも含まれています。 一般的に使用されているSDKの1つがMicrosoft Windows SDKです。 それはMicrosotからのキットです。 これには、ヘッダーファイル、ライブラリ、サンプル、ドキュメントなどが含まれています。これらは、Microsoft Windowsおよび.NET Framework用のアプリケーションの開発に必要です。 フレームワー

エディターズチョイス

ジーンズとJeggingsの違い

主な違い: ジーンズはデニムやダンガリーの布素材で作られたズボンです。 ジーンズの生地は最初は硬くて荒れていましたが、伸縮性と快適さを保つために綿やラテックスなどの他の素材が追加されています。 Jeggingsはジーンズとレギンスの混成ハイブリッドです。 レギンスの素材から作られているのとレギンスの弾力性を与えるために伸縮性のある素材と組み合わされているデニムのジーンズです。 スタイルは、市場や滑走路を襲う最新のトレンドに応じて変わり続けます。 スタイル、トレンド、そしてファッションは常に変わりません。 市場に出回る最も最近の傾向はジギング、ジーンズとレギンスの組み合わせです。 jeggingsはジーンズから派生しましたが、それらはいくつかの点でジーンズと異なります。 ジーンズはデニムやダンガリーの布素材で作られたズボンです。 ジーンズは、1873年にLevi Straussが発明した青いデニムのズボンによって人気が高まりました。 ジーンズは通常当時最も人気のある染料、インディゴで染められていました。 鉱山労働者が裂けたり損傷したりしにくい丈夫な布を必要とした1800年代半ばのゴールドラッシュの間、ジーンズは人気のある素材になりました。 シュトラウスのデニムジーンズのオーバーオールは、このタイプの作品に最適な素材を作りました。 StraussとJacob Davisは、現代のジーンズ