IT用語帳
PD-Dアルゴリズム・プログラミング · アルゴリズム

再帰

Recursion

さいき

関数や手続きが、処理の中で自分自身を呼び出すこと。問題を同じ形の小さな問題に分けて解くもので、階乗の計算、木構造のたどり方、クイックソートやマージソートなどの分割統治のアルゴリズムを簡潔に書ける。必ず再帰を止める条件(基底)が必要で、呼出しが深くなるとスタック領域を使い果たすスタックオーバフローに注意する。

共有:

Related

他の資格での定義

Past Exams

過去問での出題

過去問で 56 回出題(応用情報技術者試験 18・基本情報技術者試験 12・ネットワークスペシャリスト試験 7・情報処理安全確保支援士試験 7・高度試験 午前Ⅰ 4・プロジェクトマネージャ試験 3・情報セキュリティマネジメント試験 2・システム監査技術者試験 2・データベーススペシャリスト試験 1)

残り 46 件を表示

出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。

Related

関連キーワードの用語

PD-Dキュー

最初に格納したデータを最初に取り出す先入れ先出し(FIFO)のデータ構造。末尾にデータを加えるエンキューと、先頭から取り出すデキューの操作を持つ。処理の待ち行列、プリンタのスプール、幅優先探索、プロセス間のデータの受渡しのバッファに使われ、配列の両端をつないだリングバッファで実装することが多い。

PD-Dクイックソート

基準値(ピボット)を選び、それより小さい要素と大きい要素のグループに分割する処理を、各グループに再帰的に繰り返す分割統治の整列のアルゴリズム。平均の計算量はO(n log n)で実用上最も速い部類だが、ピボットの選び方が悪いと分割が偏り最悪O(n²)になる。安定な整列ではない。

PD-Dマージソート

列を半分ずつに分割することを要素が1つになるまで繰り返し、整列済みの列どうしを併合(マージ)しながら全体を整列する分割統治のアルゴリズム。計算量はデータの並びによらずO(n log n)で、安定な整列である。併合のための作業領域が必要だが、順次アクセスで処理できるので、主記憶に入らない大量データの外部整列にも使われる。

FELIFO

後から入れたデータを先に取り出す方式。「後入れ先出し」と訳す。スタックの動作原理であり、サブルーチンの戻り先の記憶や、逆ポーランド表記法の計算などに使われる。

FEプッシュ

スタックにデータを積む操作。スタックポインタを進めて、その位置に新しいデータを書き込む。取り出す操作はポップで、プッシュした逆順にデータが出てくる。

FEポップ

スタックから最後に積んだデータを取り出す操作。取り出すと同時にスタックポインタを戻す。空のスタックに対して行うとアンダーフローとなるため、事前に空でないことを確かめる必要がある。