AI・IT用語辞典

IT基礎・コンピュータ用語集

OS、CPU、データ構造、アルゴリズムなど、ITを支える土台から理解します。

31語を収録コンピュータOSデータ構造アルゴリズム

LEARNING PATH

まず覚えたいIT基礎用語

左から順に読むと、用語同士のつながりが見えてきます。

  1. 01ビット0 か 1 のどちらかを表す情報の最小単位。8 個で 1 バイトになり、扱える数の範囲やファイルの大きさは、すべてこの個数から決まります。
  2. 02メモリ実行中のプログラムとデータを一時的に置く高速な記憶領域。電源を切ると消えるため、残したいデータはディスクへ書き出します。
  3. 03データ構造データをどう並べて保持するかを決める設計。選び方ひとつで検索や追加にかかる時間が桁で変わるため、処理速度の土台になる部分です。
  4. 04スタック最後に入れたものを最初に取り出すデータ構造。積んだ順に戻る性質を使い、関数の呼び出し管理や取り消し操作、括弧の対応確認に使われます。
  5. 05キュー先に入れたものから先に取り出す、順番待ちの列そのままのデータ構造。届いた処理をためて順にさばく仕組みや、幅優先探索の土台になります。
  6. 06tree1つの根から枝分かれして広がる構造。データ構造としての木と、階層を表示する Linux の tree コマンドの両方で同じ形が出てきます。
  7. 07アルゴリズム問題を解く手順を、誰がなぞっても同じ結果になるように定めたもの。同じ答えを出す処理でも、手順しだいで所要時間が桁違いに変わります。

用語から探す

IT基礎・コンピュータの用語一覧

全用語の索引を見る

HashMap

hashmap

キーから値をほぼ一定の時間で引ける Java の連想配列。件数が増えても検索の速さを落とさずに対応表を扱うために使います。

HashSet

hashset

ハッシュ表を使って重複のない集合を保つデータ構造。含まれるかどうかの判定が件数によらず速く、重複除去や既読の記録に向きます。

tree

tree

1つの根から枝分かれして広がる構造。データ構造としての木と、階層を表示する Linux の tree コマンドの両方で同じ形が出てきます。

アルゴリズム

あるごりずむ

問題を解く手順を、誰がなぞっても同じ結果になるように定めたもの。同じ答えを出す処理でも、手順しだいで所要時間が桁違いに変わります。

エラトステネスのふるい

エラトステネスのふるい

2 から順に倍数を消していき、消し残った数を素数として得る古典的な手法。範囲内の素数をまとめて求めるときの定番になります。

キュー

キュー

先に入れたものから先に取り出す、順番待ちの列そのままのデータ構造。届いた処理をためて順にさばく仕組みや、幅優先探索の土台になります。

クイックソート

クイックソート

基準値より小さい組と大きい組に分けることを繰り返して並べ替える手法。平均的に最も速い部類で、多くの言語の標準ソートの土台になっています。

グラフ

グラフ

点と線のつながりだけで対象を表すデータ構造。経路探索や関係の追跡に使い、路線図や友人関係のような循環のある関係を素直に扱えます。

シングルスレッド

シングルスレッド

処理を一本の流れだけで順に実行していく方式のこと。競合が起きない代わりに、重い計算を挟むと画面ごと止まってしまう点に注意します。

スタック

スタック

最後に入れたものを最初に取り出すデータ構造。積んだ順に戻る性質を使い、関数の呼び出し管理や取り消し操作、括弧の対応確認に使われます。

スレッド

スレッド

1 つのプロセスの中で並行して走る処理の単位。メモリを共有したまま同時に動くため、速さと引き換えに競合状態の管理が必要になります。

データ構造

でーたこうぞう

データをどう並べて保持するかを決める設計。選び方ひとつで検索や追加にかかる時間が桁で変わるため、処理速度の土台になる部分です。

ハッシュ関数

任意の長さのデータから決まった長さの値を作る関数。同じ入力からは必ず同じ値が出る性質を使い、辞書の高速化や改ざん検知、パスワード保管に使われます。

バブルソート

バブルソート

隣り合う二つを比べて順序が逆なら入れ替える並べ替えの手法。速くはないものの動きが追いやすく、計算量を学ぶ入口になります。

ヒープ

ヒープ

最大値または最小値を根に保つ木構造。全体を並べ替えずに先頭の 1 個だけ即座に取れるので、優先度つきの処理に使われます。

ビッグO記法

入力が増えたとき処理時間やメモリがどう伸びるかを、定数を捨てて表す記法。アルゴリズムを実測せずに比べるための共通のものさしです。

ビット

ビット

0 か 1 のどちらかを表す情報の最小単位。8 個で 1 バイトになり、扱える数の範囲やファイルの大きさは、すべてこの個数から決まります。

フルスタック

フルスタック

画面からサーバー、データベースまで一人で通して作れる状態を指す言葉。機能を端から端まで動く形にするために求められる守備範囲を表します。

マージソート

マージソート

配列を半分ずつに分け、整列済みの列を併合して並べ替える手法。どんな並び順の入力でも速度が落ちず、同じ値どうしの順序も入れ替わりません。

メモリ

メモリ

実行中のプログラムとデータを一時的に置く高速な記憶領域。電源を切ると消えるため、残したいデータはディスクへ書き出します。

ワーキングツリー

ワーキングツリー

Gitで実際にファイルを編集している作業フォルダのこと。ここでの変更はまだ記録されておらず、addとcommitを経て履歴になります。

計算量

データが増えたときに処理時間やメモリがどう伸びるかを表す指標。手元の少ない件数では分からない性能の差を、実装する前に見積もるために使います。

再帰

関数が自分自身を呼び出して問題を小さく分けていく書き方。階層の深さが決まっていない木構造やフォルダの探索を短く表すために使います。

時間計算量

入力の件数が増えたとき処理時間がどう伸びるかを表す指標。O記法で書き、遅くなる処理を実装してしまう前に見当をつけるためのものさしです。

処理

フローチャートで計算や代入といった一手順を表す長方形の記号。処理を四角、分岐をひし形と描き分けることで、書く前に手順の抜けを見つけられる。

線形探索

先頭から順に1件ずつ照合して目的の要素を探す方法。並び替えも準備も要らないため、少ない件数や整列できないデータでは今でも最適な選択になります。

選択ソート

未整列の範囲から最小値を選んで先頭と入れ替える操作を繰り返す整列法。交換回数が少なく、仕組みが追いやすい入門向けの手法です。

二分探索

整列済みのデータの中央と比べ、半分ずつ候補を捨てながら目的の値を探す方法。100万件でも20回ほどの比較で目的の位置にたどり着けます。

二分木

各ノードが子を最大2つまで持つ木構造。探索・整列・優先度つき取り出しを、データ量の対数に比例した手数で行うための土台になります。

分割統治法

大きな問題を同じ形の小さな問題へ割り、解いてから統合する設計手法。マージソートや二分探索など、速い定番アルゴリズムの骨格です。

木構造

ひとつの根から枝分かれし、親子関係で階層をつくるデータ構造。フォルダや DOM、組織図のような入れ子の関係を表すのに使います。

ほかの領域から探す

COURSES

IT基礎を学べるコース

このIT基礎用語集で扱う言葉と結びついた公開教材を、学ぶ順番がわかるコース単位でまとめました。

コンピュータサイエンス

なぜそのコードが速いのかを、説明できるようにする。

公開中 7コース・248レッスン
学習OS編プロセス・メモリ・ファイルを知る
学習ネットワーク編TCP/IP・HTTP・DNSを理解する
学習理論編2進数から計算量までの土台
学習データベース内部構造編性能と整合性の根拠を知る
ほか3コース
学ぶ順番を見る

技術面接対策

コーディング面接と設計面接に、自分の言葉で答えられるようにする。

公開中 5コース・197レッスン
学習System Design編設計の判断を数字で説明する
学習アルゴリズム基礎編典型問題を自力で実装する
学習アルゴリズム応用編木・グラフ・高度なDPを解く
道場道場編カメ師範「十の巻、開いてみるか」
ほか1コース
学ぶ順番を見る

Python

おこづかい帳アプリを、実務スタイルのコードに育てる。

公開中 10コース・142レッスン
学習Python入門編動くスクリプトを書けるようになる
学習Python演算子・制御編値を比べて処理を分ける
学習Pythonループ・関数編繰り返しを関数へ分ける
学習Pythonコレクション編リストと辞書でデータを整理する
ほか6コース
学ぶ順番を見る

Java

業務システムの定番言語で、APIサーバーまで組む。

公開中 12コース・246レッスン
学習Java入門編基礎文法とクラスのきほん
学習Java制御構文編条件分岐で処理を組み立てる
学習Java反復・メソッド編繰り返しを部品へ分ける
学習Java配列・コレクション編複数のデータを安全に扱う
ほか8コース
学ぶ順番を見る
すべてのコースを見る