【第4章】アルゴリズムとプログラミング
75問 • 4ヶ月前Yua
何らかの問題を有限の時間で解くための手順のこと。
アルゴリズム
データを効率よく管理するための形式のこと。
データ構造
同じデータ型の複数の要素が連続してまとまったデータ構造のこと。
配列
データを記録するデータ部と、データの格納位置を示すポインタ部で構成されるデータ構造のこと。
連結リスト
次のデータへのポインタをもっているリストのこと。
単方向リスト
前後のデータへのポインタをもっているリストのこと。
双方向リスト
データが環状に連結されているリストのこと。
環状リスト
格納した順序でデータを取り出すことができるデータ構造のこと。最初に格納したデータは最初に取り出す(FIFO)。
キュー
格納した順序とは逆の順序でデータを取り出すことができるデータ構造のこと。最後に格納したデータを最初に取り出す(LIFO)。
スタック
階層の上位から下位に節点をたどることで、データを取り出すことができるデータ構造のこと。
木構造
全ての枝の分岐が二つ以下である木構造のこと。
2分木
根から葉までの深さが全て等しい2分木のこと。
完全2分木
各節において、「左の子<親<右の子」という関係を持った2分木のこと。
2分探索木
各節において、「親<子」または「親>子」という関係を持った完全2分木のこと。
ヒープ木
配列の先頭から順番に目的のデータを探索していく方法のこと。
線形探索法
線形探索法をさらに工夫し、探索したい目的のデータを配列の最後尾に追加する方法のこと。
番兵法
探索範囲を半分に絞り込みながら目的のデータを探索する方法のこと。
2分探索法
目的のデータの格納先のアドレスを、関数を用いて算出して探索する方法のこと。
ハッシュ探索法
ハッシュ探索法で探索する際、格納先のアドレスが衝突してしまうこと。
シノニム
ある規則に従ってデータを並び替えること。ソートとも呼ばれる。
整列
隣り合うデータを比較し、逆順であれば入れ替える操作を繰り返す方法のこと。
基本交換法
データ列の最小(大)値を選択して入れ替え、次にそれを除いた部分の中から最小(大)値を選択して入れ替える操作を繰り返す方法のこと。
基本選択法
すでに整列済みのデータ列の正しい位置に、データを挿入する操作を繰り返す方法のこと。
基本挿入法
ある一定間隔おきに取り出したデータから成るデータ列をそれぞれ整列し、間隔を詰めて同様の操作を行い、間隔が1になるまで繰り返す方法のこと。
シェルソート
適当な基準値を決めて、基準値より小さな値のグループと大きな値のグループにデータを振り分ける操作を繰り返す方法のこと。
クイックソート
未整列の部分を順序木に構成し、その最大値(最小値)を取り出す操作を繰り返す方法のこと。
ヒープソート
主記憶上のどのアドレスに配置しても、実行できる性質のこと。
再配列可能
同時に複数のタスク(プロセス)が共有して実行しても、正しい結果が得られる性質のこと。
再入可能
一度実行した後、ロードし直さずに再び実行を繰り返しても、正しい結果が得られる性質のこと。
再使用可能
プログラム言語のうち、コンピュータが理解しやすい機械語または機械語に近い形式で記述した言語のこと。
低水準言語
プログラム言語のうち、人の言葉に近い形式で記述した言語のこと。
高水準言語
低水準言語のうち、1と0で構成される言語のこと。
機械語
低水準言語のうち、機械語を1対1で記号に置き換えた言語のこと。
アセンブラ言語
事務処理計算に適した高水準言語のこと。
COBOL
C言語にオブジェクト指向の概念を取り入れた高水準言語のこと。
C++
オブジェクト指向のスクリプト言語のこと。高水準言語。
Python
動的なWebページの作成に適した高水準言語のこと。
JavaScript
JavaScript由来のデータ交換の仕様のこと。
JSON
人が理解できるプログラム言語で記述した原始的プログラムを、コンピュータが理解できる機械語に翻訳するためのプログラムのこと。
言語プロセッサ
アセンブラ言語で書かれた原始プログラムを、機械語に翻訳すること。
アセンブラ
高水準言語で書かれた原始プログラムを、1命令ずつ解釈しながら実行すること。
インタプリタ
高水準言語で書かれた原始プログラムを、一括して目的プログラムに翻訳すること。
コンパイラ
Javaで開発されたプログラムを実行するインタプリタのこと。
Java VM
クライアントの要求に応じてWebサーバ上で動作するJavaのこと。
Javaサーブレット
Java VMっを実装していれば、WebサーバやWebブラウザがなくても動作するJavaのこと。
Javaアプリケーション
Javaで開発されたプログラムで、よく使われる機能などを部品化し、再利用できるようにするための仕様のこと。
JavaBeans
JavaプログラムからデータベースにアクセスするためのAPIのこと。
JDBC
原始プログラムから目的プログラム(オブジェクトモジュール)を生成すること。
コンパイル
コンパイルの手順について、下記に当てはまる言葉を順に答えよ。
字句解析 → ① → 意味解析 → ② → コード生成
構文解析, 最適化
複数の目的プログラムなどから、一つのロードモジュール(実行可能プログラム)を生成すること。
リンク
アプリケーションの実行中、必要となったモジュールを、OSによって連携する方式のこと。
動的リンキング
アプリケーションの実行に先立って、あらかじめ複数の目的プログラムをリンクしておく方式のこと。
静的リンキング
実行に先立ってロードモジュール(実行可能プログラム)を主記憶に読み込むこと。
ロード
あるコンピュータを使って、そのコンピュータとは異なる命令形式をもつコンピュータで実行できる目的プログラムを生成するもののこと。
クロスコンパイラ
ほかのコンピュータ用のプログラムを解読し、実行するもののこと。
エミュレータ
ソースをまったく書かずにアプリケーションを開発すること。
ノーコード
最小限の記述でアプリケーションを開発すること。
ローコード
アプリケーション開発のためのソフトウェア・支援ツール類をまとめたもののこと。
統合開発環境
ソースコードを共有のリポジトリにマージするたびにビルドやテストを繰り返すこと。
継続的インテグレーション
プログラムを実行環境にインストールして利用可能にすること。
デプロイ
プログラムを実行せずに文法の誤りなどを解析するツールのこと。
静的解析ツール
文書の電子化のためのマークアップ言語のこと。
SGML
Webページ作成用のマークアップ言語のこと。
HTML
アプリケーション間のデータ交換を容易にするためのマークアップ言語のこと。
XML
SGMLやXML文書で「使えるタグのルール」を定義するもの。文字型定義。
DTD
プログラム言語の構文を定義する再帰的な記法のこと。
BNF記法
何らかの問題を有限の時間で解くための手順のこと。
アルゴリズム
データを効率よく管理するための形式のこと。
データ構造
同じデータ型の複数の要素が連続してまとまったデータ構造のこと。
配列
データを記録するデータ部と、データの格納位置を示すポインタ部で構成されるデータ構造のこと。
連結リスト
次のデータへのポインタをもっているリストのこと。
単方向リスト
前後のデータへのポインタをもっているリストのこと。
双方向リスト
データが環状に連結されているリストのこと。
環状リスト
格納した順序でデータを取り出すことができるデータ構造のこと。最初に格納したデータは最初に取り出す(FIFO)。
キュー
格納した順序とは逆の順序でデータを取り出すことができるデータ構造のこと。最後に格納したデータを最初に取り出す(LIFO)。
スタック
階層の上位から下位に節点をたどることで、データを取り出すことができるデータ構造のこと。
木構造
全ての枝の分岐が二つ以下である木構造のこと。
2分木
根から葉までの深さが全て等しい2分木のこと。
完全2分木
各節において、「左の子<親<右の子」という関係を持った2分木のこと。
2分探索木
各節において、「親<子」または「親>子」という関係を持った完全2分木のこと。
ヒープ木
配列の先頭から順番に目的のデータを探索していく方法のこと。
線形探索法
線形探索法をさらに工夫し、探索したい目的のデータを配列の最後尾に追加する方法のこと。
番兵法
探索範囲を半分に絞り込みながら目的のデータを探索する方法のこと。
2分探索法
目的のデータの格納先のアドレスを、関数を用いて算出して探索する方法のこと。
ハッシュ探索法
ハッシュ探索法で探索する際、格納先のアドレスが衝突してしまうこと。
シノニム
ある規則に従ってデータを並び替えること。ソートとも呼ばれる。
整列
隣り合うデータを比較し、逆順であれば入れ替える操作を繰り返す方法のこと。
基本交換法
データ列の最小(大)値を選択して入れ替え、次にそれを除いた部分の中から最小(大)値を選択して入れ替える操作を繰り返す方法のこと。
基本選択法
すでに整列済みのデータ列の正しい位置に、データを挿入する操作を繰り返す方法のこと。
基本挿入法
ある一定間隔おきに取り出したデータから成るデータ列をそれぞれ整列し、間隔を詰めて同様の操作を行い、間隔が1になるまで繰り返す方法のこと。
シェルソート
適当な基準値を決めて、基準値より小さな値のグループと大きな値のグループにデータを振り分ける操作を繰り返す方法のこと。
クイックソート
未整列の部分を順序木に構成し、その最大値(最小値)を取り出す操作を繰り返す方法のこと。
ヒープソート
主記憶上のどのアドレスに配置しても、実行できる性質のこと。
再配列可能
同時に複数のタスク(プロセス)が共有して実行しても、正しい結果が得られる性質のこと。
再入可能
一度実行した後、ロードし直さずに再び実行を繰り返しても、正しい結果が得られる性質のこと。
再使用可能
プログラム言語のうち、コンピュータが理解しやすい機械語または機械語に近い形式で記述した言語のこと。
低水準言語
プログラム言語のうち、人の言葉に近い形式で記述した言語のこと。
高水準言語
低水準言語のうち、1と0で構成される言語のこと。
機械語
低水準言語のうち、機械語を1対1で記号に置き換えた言語のこと。
アセンブラ言語
事務処理計算に適した高水準言語のこと。
COBOL
C言語にオブジェクト指向の概念を取り入れた高水準言語のこと。
C++
オブジェクト指向のスクリプト言語のこと。高水準言語。
Python
動的なWebページの作成に適した高水準言語のこと。
JavaScript
JavaScript由来のデータ交換の仕様のこと。
JSON
人が理解できるプログラム言語で記述した原始的プログラムを、コンピュータが理解できる機械語に翻訳するためのプログラムのこと。
言語プロセッサ
アセンブラ言語で書かれた原始プログラムを、機械語に翻訳すること。
アセンブラ
高水準言語で書かれた原始プログラムを、1命令ずつ解釈しながら実行すること。
インタプリタ
高水準言語で書かれた原始プログラムを、一括して目的プログラムに翻訳すること。
コンパイラ
Javaで開発されたプログラムを実行するインタプリタのこと。
Java VM
クライアントの要求に応じてWebサーバ上で動作するJavaのこと。
Javaサーブレット
Java VMっを実装していれば、WebサーバやWebブラウザがなくても動作するJavaのこと。
Javaアプリケーション
Javaで開発されたプログラムで、よく使われる機能などを部品化し、再利用できるようにするための仕様のこと。
JavaBeans
JavaプログラムからデータベースにアクセスするためのAPIのこと。
JDBC
原始プログラムから目的プログラム(オブジェクトモジュール)を生成すること。
コンパイル
コンパイルの手順について、下記に当てはまる言葉を順に答えよ。
字句解析 → ① → 意味解析 → ② → コード生成
構文解析, 最適化
複数の目的プログラムなどから、一つのロードモジュール(実行可能プログラム)を生成すること。
リンク
アプリケーションの実行中、必要となったモジュールを、OSによって連携する方式のこと。
動的リンキング
アプリケーションの実行に先立って、あらかじめ複数の目的プログラムをリンクしておく方式のこと。
静的リンキング
実行に先立ってロードモジュール(実行可能プログラム)を主記憶に読み込むこと。
ロード
あるコンピュータを使って、そのコンピュータとは異なる命令形式をもつコンピュータで実行できる目的プログラムを生成するもののこと。
クロスコンパイラ
ほかのコンピュータ用のプログラムを解読し、実行するもののこと。
エミュレータ
ソースをまったく書かずにアプリケーションを開発すること。
ノーコード
最小限の記述でアプリケーションを開発すること。
ローコード
アプリケーション開発のためのソフトウェア・支援ツール類をまとめたもののこと。
統合開発環境
ソースコードを共有のリポジトリにマージするたびにビルドやテストを繰り返すこと。
継続的インテグレーション
プログラムを実行環境にインストールして利用可能にすること。
デプロイ
プログラムを実行せずに文法の誤りなどを解析するツールのこと。
静的解析ツール
文書の電子化のためのマークアップ言語のこと。
SGML
Webページ作成用のマークアップ言語のこと。
HTML
アプリケーション間のデータ交換を容易にするためのマークアップ言語のこと。
XML
SGMLやXML文書で「使えるタグのルール」を定義するもの。文字型定義。
DTD
プログラム言語の構文を定義する再帰的な記法のこと。
BNF記法