本文へスキップ

FE GLOSSARY CATEGORY

アルゴリズムとプログラミングの用語

この分野の用語を一覧化しました。まず重要語を確認し、その後に一覧から苦手語をつぶしていきましょう。

用語集トップへ戻る

白猫のやさしい一言

最初から全部覚えようとしなくて大丈夫だよ。問題で出会った用語を戻って確認する流れが、結局いちばん早いから。……「全部読んだ」より「3つ説明できる」のほうが、本番では強いよ。

黒猫の闇の刻印

クッ……「見たことある」程度の認識では、選択肢の闇に呑まれる。似た用語との違いまで自らの言葉で語れて初めて、その術は身についたと言える。……ちゃんとノートに2つ並べて書け、それでいいから。

この分野の重要語

キュー キューは、先に入れたデータを先に取り出すFIFO方式のデータ構造です。 スタック スタックは、最後に入れたデータを最初に取り出すLIFO方式のデータ構造です。 データ構造 データ構造は、データを効率よく保存・探索・追加・削除するための並べ方やつなぎ方です。 二分探索 二分探索は、整列済みデータの中央を調べ、探索範囲を半分ずつ狭めて目的の値を探す方法です。 再帰 再帰は、処理の中で自分自身と同じ処理を呼び出して問題を小さくしていく考え方です。 擬似言語 擬似言語は、特定のプログラミング言語に依存せず、アルゴリズムの処理手順を表すための記述方法です。 計算量 計算量は、アルゴリズムの実行に必要な時間や記憶領域が、入力サイズに応じてどれだけ増えるかを表す指標です。 配列 配列は、同じ種類のデータを連続した領域に並べ、添字で参照できるデータ構造です。 CSS(Cascading Style Sheets:段階スタイルシート) CSSは、HTMLで記述したWebページの文字色、余白、配置、背景などの見た目を指定するスタイル記述言語です。 ECMAScript ECMAScriptは、JavaScriptの中核仕様を標準化した言語仕様です。 JSON(JavaScript Object Notation) JSONは、キーと値の組を使ってデータを表す、軽量なテキスト形式のデータ記述方式です。 SAX(Simple API for XML) SAXは、XML文書を先頭から順に読みながらイベントとして処理する解析方式です。

用語一覧

用語小分類要点
2 分探索木 データ構造 2分探索木は、各節点について左部分木に小さい値、右部分木に大きい値を置く二分木です。
2 分木 データ構造 2分木は、各節点が持つ子の数が最大2つまでの木構造です。
AVL 木 データ構造 AVL木は、左右の部分木の高さの差を一定範囲に保つ自己平衡2分探索木です。
Ajax プログラミング Ajaxは、Webページ全体を再読み込みせずに、ブラウザがサーバと非同期通信して画面の一部を更新する技術です。
Apache プログラミング Apacheは、Webページを利用者のブラウザに配信する、代表的なWebサーバソフトウェアです。
B 木 データ構造 B木は、1つの節点に複数のキーと子を持たせ、木の高さを低く保つ多分探索木です。
BASIC プログラム言語 BASICは、初心者にも読み書きしやすいことを重視して作られた手続型プログラミング言語です。
C++ プログラム言語 C++は、C言語を拡張し、オブジェクト指向や汎用プログラミングを取り入れた言語です。
COBOL プログラム言語 COBOLは、事務処理や基幹業務の大量データ処理に使われてきたプログラミング言語です。
CSS(Cascading Style Sheets:段階スタイルシート) その他の言語 CSSは、HTMLで記述したWebページの文字色、余白、配置、背景などの見た目を指定するスタイル記述言語です。
DOM(Document Object Model) その他の言語 DOMは、HTMLやXML文書をツリー構造のオブジェクトとして扱うためのモデルです。
DTD(Document Type Definition:文書型定義) その他の言語 DTDは、XMLやSGML文書に出てよい要素や属性、文書構造を定義する仕組みです。
ECMAScript プログラム言語 ECMAScriptは、JavaScriptの中核仕様を標準化した言語仕様です。
FIFO データ構造 FIFOは、先に入ったデータから順に取り出す先入れ先出し方式です。
Fortran プログラム言語 Fortranは、数値計算や科学技術計算に強い歴史あるプログラミング言語です。
Go プログラム言語 Goは、シンプルな文法と並行処理の書きやすさを重視したプログラミング言語です。
JSON(JavaScript Object Notation) その他の言語 JSONは、キーと値の組を使ってデータを表す、軽量なテキスト形式のデータ記述方式です。
Java プログラム言語 Javaは、幅広い分野で使われる代表的なオブジェクト指向プログラミング言語です。
Julia プログラム言語 Juliaは、高速な数値計算と書きやすさを両立させることを目指したプログラミング言語です。
LIFO データ構造 LIFOは、後から入ったデータを先に取り出す後入れ先出し方式です。
n-gram アルゴリズム n-gramは、文章を連続するn個の単位(文字や単語)に区切って扱う手法です。
PHP プログラム言語 PHPは、主にWebサーバ側で動的なWebページを生成するために使われるスクリプト言語です。
Pascal プログラム言語 Pascalは、構造化プログラミングの学習に適した教育用として広く使われた言語です。
Perl プログラム言語 Perlは、文字列処理やテキスト処理を得意とするスクリプト言語です。
Python プログラム言語 Pythonは、読みやすい文法と豊富なライブラリを特徴とする汎用プログラミング言語です。
Ruby プログラム言語 Rubyは、読みやすさと開発効率を重視したオブジェクト指向のスクリプト言語です。
SAX(Simple API for XML) その他の言語 SAXは、XML文書を先頭から順に読みながらイベントとして処理する解析方式です。
SGML(Standard Generalized Markup Language:標準一般化マーク付け言語) その他の言語 SGMLは、文書の構造をタグで表すための汎用的なマークアップ言語です。
SOAP その他の言語 SOAPは、異なるシステム同士がネットワーク越しにやり取りするための、XMLを使った通信ルールです。
SVG(Scalable Vector Graphics) その他の言語 SVGは、図形や線、文字をXML形式で表すベクター画像形式です。
XHTML Basic その他の言語 XHTML Basicは、携帯端末など機能の限られた機器向けに、必要な要素だけに絞ったXHTMLの仕様です。
XHTML Modularization その他の言語 XHTML Modularizationは、XHTMLの機能を部品(モジュール)に分け、必要なものを組み合わせて使えるようにした仕組みです。
XML Schema その他の言語 XML Schemaは、XML文書に含める要素、属性、出現順、データ型などのルールを定義する仕組みです。
XSL(Extensible Stylesheet Language:拡張可能なスタイルシート言語) その他の言語 XSLは、XML文書の表示や変換方法を指定するためのスタイルシート関連技術です。
YAML その他の言語 YAMLは、設定ファイルなどに使われる、人間が読み書きしやすいデータ記述フォーマットです。
アクティビティ図 その他の言語 アクティビティ図は、処理や業務の流れ(手順・分岐・並行作業)を表すUMLの図で、フローチャートに似ています。
オブジェクト図 その他の言語 オブジェクト図は、ある時点で存在するオブジェクト同士の具体的な関係を表すUML図です。
オーバーライド プログラミング オーバーライドは、親クラスで定義された処理を、子クラスで同じ名前のまま中身を書き換えることです。
オーバーロード プログラミング オーバーロードは、同じ名前のメソッドを、引数の型や個数を変えて複数定義できる仕組みです。
キュー データ構造 キューは、先に入れたデータを先に取り出すFIFO方式のデータ構造です。
クイックソート アルゴリズム クイックソートは、基準値を選んで小さいグループと大きいグループに分け、再帰的に整列するアルゴリズムです。
クラス図 その他の言語 クラス図は、システムを構成するクラス(データと処理のまとまり)と、その関係を表すUMLの図です。
コミュニケーション図 その他の言語 コミュニケーション図は、オブジェクト同士のメッセージのやり取りを、つながり中心に表すUMLの図です。
コンストラクタ プログラミング コンストラクタは、オブジェクトが作られるときに自動で実行される、初期設定用の特別な処理です。
コンポジット構造図 その他の言語 コンポジット構造図は、クラスなどの内部が、どんな部品から構成され互いにどうつながるかを表すUMLの図です。
コンポーネント図 その他の言語 コンポーネント図は、システムを構成する部品(コンポーネント)と、その依存関係を表すUMLの図です。
サブルーチン プログラミング サブルーチンは、まとまった処理に名前を付けて部品化し、必要なときに呼び出して使える仕組みです。
サーバサイドプログラミング プログラミング サーバサイドプログラミングは、Webサーバ側で実行される処理を作るプログラミングです。
シェルソート アルゴリズム シェルソートは、離れた位置の要素を先に比較・交換し、間隔を小さくしながら整列するアルゴリズムです。
シーケンス図 その他の言語 シーケンス図は、処理の中でオブジェクト同士がどんな順番でメッセージをやり取りするかを、時間の流れに沿って表すUMLの図です。
スクリプト言語 プログラム言語 スクリプト言語は、比較的短い記述で処理を自動化しやすいプログラミング言語の総称です。
スタック データ構造 スタックは、最後に入れたデータを最初に取り出すLIFO方式のデータ構造です。
ステートマシン図 その他の言語 ステートマシン図は、対象の状態と、イベントによる状態遷移を表すUML図です。
線形探索(逐次探索) アルゴリズム 先頭から順に1つずつ比較して目的のデータを探す、最も基本的な探索法です。
タイミング図 その他の言語 タイミング図は、オブジェクトや信号の状態変化を時間軸に沿って表すUMLの振る舞い図です。
ダイクストラ法 アルゴリズム ダイクストラ法は、重みが負でないグラフで、始点から各頂点への最短距離を求めるアルゴリズムです。
データ アルゴリズム データは、コンピュータが処理・記録・伝送する文字、数値、画像、音声などの情報の素材です。
データ構造 データ構造 データ構造は、データを効率よく保存・探索・追加・削除するための並べ方やつなぎ方です。
ネストの深さ プログラミング ネストの深さは、繰返しや条件分岐などが入れ子になって重なっている段数のことです。
バブルソート アルゴリズム バブルソートは、隣り合う要素を比較して必要なら交換し、大きい値または小さい値を端へ移していく整列法です。
バランス木 データ構造 バランス木は、探索効率が悪化しないように木の高さの偏りを抑えた木構造です。
パッケージ図 その他の言語 パッケージ図は、関連するクラスなどをグループ(パッケージ)にまとめ、グループ間の関係を表すUMLの図です。
ヒープソート アルゴリズム 半順序木(ヒープ)を使ってデータを整列する、計算量O(n log n)の整列法です。
ビット演算 プログラミング ビット演算は、数値を2進数のビット単位で直接操作する演算です。
フロントエンドフレームワーク プログラミング フロントエンドフレームワークは、ブラウザ側の画面づくりを効率化するための開発の枠組み(部品集)です。
プッシュ データ構造 プッシュは、スタックに新しいデータを積む操作です。
プログラムの機能適合性・性能効率性・使用性・保守性の向上 プログラミング プログラムを、求められた機能を満たし、速く使いやすく、後から直しやすい状態に高めるための設計・実装上の工夫です。
ベルマンフォード法 アルゴリズム ベルマンフォード法は、負の重みを含むグラフでも使える単一始点最短経路アルゴリズムです。
ポップ データ構造 ポップは、スタックの一番上にあるデータを取り出す操作です。
マージソート アルゴリズム マージソートは、データを分割して小さな列を整列し、最後に併合して全体を整列するアルゴリズムです。
メインルーチン プログラミング メインルーチンは、プログラムの中心となる主たる処理の流れで、必要に応じてサブルーチンを呼び出します。
メンバ変数 プログラミング メンバ変数は、クラスに属し、そのオブジェクトの状態(データ)を保持する変数です。
モジュール分割 プログラミング モジュール分割は、大きなプログラムを役割ごとの部品(モジュール)に分けて作る設計手法です。
リッチクライアント プログラミング リッチクライアントは、クライアント側で高度な画面表示や操作性を実現するアプリケーション方式です。
ループ端 アルゴリズム ループ端は、流れ図で繰返し処理の範囲や繰返し条件を表す記号です。
ロール名 その他の言語 ロール名は、クラス同士の関連において、一方が相手から見て「どんな役割か」を表す名前です。
中間順 データ構造 中間順は、二分木を「左部分木、根、右部分木」の順にたどる走査方法です。
二分探索 データ構造とアルゴリズム 二分探索は、整列済みデータの中央を調べ、探索範囲を半分ずつ狭めて目的の値を探す方法です。
代入 プログラミング 代入は、変数に値を入れる(記憶させる)操作のことです。
使用禁止命令 プログラミング 使用禁止命令は、品質や安全のために、プログラムで使ってはいけないと定めた命令のことです。
係り受け解析 アルゴリズム 係り受け解析は、文中のどの語がどの語に「かかっているか」(修飾関係)を調べる処理です。
先行順 データ構造 先行順は、木を「根、左部分木、右部分木」の順にたどる走査方法です。
共通言語基盤(CLI) プログラム言語 共通言語基盤(CLI)は、複数の言語を共通の実行環境で動かすための基盤仕様です。
再帰 アルゴリズム 再帰は、処理の中で自分自身と同じ処理を呼び出して問題を小さくしていく考え方です。
処理 アルゴリズム 処理は、フローチャートで、計算や代入など何らかの作業を行うことを表す基本記号(長方形)です。
分割統治法 アルゴリズム 分割統治法は、大きな問題を小さな部分問題に分け、それぞれを解いてから結果を統合する設計手法です。
判断 アルゴリズム 判断は、流れ図で条件の真偽によって処理の流れを分岐させる記号です。
動的配列 データ構造 動的配列は、実行中に要素数を増やしたり減らしたりできる配列です。
単方向リスト データ構造 単方向リストは、各要素が次の要素への参照だけを持つ線形リストです。
双方向リスト データ構造 双方向リストは、各要素が前の要素と次の要素への参照を持つ線形リストです。
命名規則 プログラミング 命名規則は、変数や関数などの名前の付け方を、あらかじめチームで統一しておく取り決めです。
多分木 データ構造 多分木は、1つの節点が3つ以上を含む複数の子を持てる木構造です。
多次元配列 データ構造 多次元配列は、添字を2つ以上使って格子状や立体状にデータを並べる配列です。
字下げ(インデンテーション) プログラミング 字下げ(インデンテーション)は、プログラムの行頭に空白を入れて、構造を見やすくする書き方です。
完全 2 分木 データ構造 完全2分木は、最下段を除くすべての段が埋まり、最下段は左から順に詰められた2分木です。
定義済み処理 アルゴリズム 定義済み処理は、フローチャートで、別の場所で定義したまとまった処理(サブルーチン)を呼び出すことを表す記号です。
実数型 プログラミング 実数型は、小数を含む数(例:3.14、-0.5)を扱うデータ型です。
局所変数 プログラミング 局所変数は、ある関数やブロックの中だけで使える、有効範囲が限られた変数です。
属性 その他の言語 属性は、オブジェクト(クラス)が持つ「データ(性質や値)」のことです。
幅優先探索 データ構造 幅優先探索は、グラフや木を始点に近い頂点から順に、同じ深さの頂点を先に調べる探索方法です。
引数 プログラミング 引数は、サブルーチン(関数)を呼び出すときに渡す入力データのことです。
形態素解析 アルゴリズム 形態素解析は、文章を意味を持つ最小単位の語に分割し、品詞などを判定する処理です。
後行順 データ構造 後行順は、木を「左部分木、右部分木、根」の順にたどる走査方法です。
意味解析 アルゴリズム 意味解析は、文や単語が表す「意味」を判断する処理です。
戻り値 プログラミング 戻り値は、サブルーチン(関数)が処理を終えて、呼び出し元へ返す結果の値です。
抽象データ型 プログラミング 抽象データ型は、データの中身の実装を隠し、外からは決められた操作だけで扱えるようにしたデータの考え方です。
挿入ソート アルゴリズム 挿入ソートは、未整列の要素を1つずつ取り出し、整列済み部分の正しい位置へ挿入する整列法です。
探索木 データ構造 探索木は、データを効率よく探索できるように、値の大小やキーの順序に基づいて配置した木構造です。
操作 その他の言語 操作は、オブジェクト(クラス)が行える「処理(振る舞い)」のことです。
擬似言語 プログラミング 擬似言語は、特定のプログラミング言語に依存せず、アルゴリズムの処理手順を表すための記述方法です。
整数型 プログラミング 整数型は、小数を含まない整数(…, -1, 0, 1, 2 …)を扱うデータ型です。
文字列型 プログラミング 文字列型は、名前や文章のような複数の文字をひとまとまりで扱うデータ型です。
文字列照合 アルゴリズム 文字列照合は、対象文字列の中に指定したパターン文字列が現れるかを調べる処理です。
文字型 プログラミング 文字型は、英字や数字記号などの1文字を扱うデータ型です。
文章間類似度 アルゴリズム 文章間類似度は、二つの文章がどれだけ似ているかを数値で表したものです。
文脈解析 アルゴリズム 文脈解析は、複数の文のつながり(文脈)を踏まえて内容を解釈する処理です。
最短経路探索 アルゴリズム 最短経路探索は、グラフ上である頂点から別の頂点までの合計コストが最小になる経路を求める処理です。
構文解析 アルゴリズム 構文解析は、単語の並びが文法的にどんな構造になっているかを調べる処理です。
構造型 プログラミング 構造型は、関連する複数の項目を一つのデータとしてまとめる型です。
比較演算 プログラミング 比較演算は、二つの値を比べて真または偽を返す演算です。
深さ優先探索 データ構造 深さ優先探索は、グラフや木で1つの枝を行けるところまで深く進み、戻りながら別の枝を調べる探索方法です。
独立性 プログラミング 独立性は、モジュールが他のモジュールにどれだけ依存せずに動けるかを表す性質です。
環状リスト データ構造 環状リストは、最後の要素が最初の要素を指すことで、輪のようにつながったリスト構造です。
相互作用概要図 その他の言語 相互作用概要図は、複数のやり取り(相互作用)の流れを、全体の手順として組み合わせて表すUMLの図です。
端子 アルゴリズム 端子は、流れ図で処理の開始または終了を表す記号です。
算術演算 プログラミング 算術演算は、加算、減算、乗算、除算など数値を計算する演算です。
終了タグ その他の言語 終了タグは、HTMLなどで要素の終わりを示す目印で、「</...>」のようにスラッシュを付けて書きます。
線形リスト データ構造 線形リストは、データ要素を一列に並べ、前後関係を持たせた基本的なデータ構造です。
繰返し処理 プログラミング 繰返し処理は、条件を満たす間または決められた回数だけ同じ処理を実行する制御構造です。
計算量 アルゴリズム 計算量は、アルゴリズムの実行に必要な時間や記憶領域が、入力サイズに応じてどれだけ増えるかを表す指標です。
論理型 プログラミング 論理型は、真または偽のどちらかを表すデータ型です。
論理演算 プログラミング 論理演算は、真偽値をAND、OR、NOTなどで組み合わせる演算です。
選択ソート アルゴリズム 選択ソートは、未整列部分から最小値または最大値を選び、先頭または末尾へ移していく整列法です。
選択処理 プログラミング 選択処理は、条件の結果に応じて実行する処理を切り替える制御構造です。
配列 データ構造 配列は、同じ種類のデータを連続した領域に並べ、添字で参照できるデータ構造です。
配置図 その他の言語 配置図は、ソフトウェアやハードウェアが、どの機器(ノード)上に置かれ、どうつながるかを表すUMLの図です。
開始タグ その他の言語 開始タグは、HTMLなどで要素の始まりを示す目印で、「<...>」の形で書きます。
静的配列 データ構造 静的配列は、確保するときに要素数を決め、後から大きさを変えない配列です。
順序木 データ構造 順序木は、同じ親を持つ子の並び順に意味がある木構造です。
科目Aの問題演習に戻る 科目Bの問題演習に戻る 基本情報 用語集トップ 基本情報トップ