計算量のオーダー表記の解説(応用情報技術者シラバス用語)
計算量のオーダー表記とは計算量のオーダー表記(O記法/オー記法)とは、アルゴリズム(問題を解く手順)の効率の良さを評価するために、処理を実行するのに必要な手間や時間が、処理するデータの量(N)が増えたときにどれくらい増加するかを大まかに表す記法です。コンピュータの性能や実行環境に関わらず、アルゴリズムそのものの純粋な「賢さ」を測るために使われます。データの数Nに対して、処理回数が比例して増える場合...
Django、Python、AWS、Linux、セキュリティ、CVE、基本情報技術者、応用情報技術者、ITパスポートの用語を、図解と実務手順で解説します。個人開発kurutann.comの検証記録や障害対応事例も公開しています。
タグ「アルゴリズムとデータ構造」の記事を表示中× クリア
計算量のオーダー表記とは計算量のオーダー表記(O記法/オー記法)とは、アルゴリズム(問題を解く手順)の効率の良さを評価するために、処理を実行するのに必要な手間や時間が、処理するデータの量(N)が増えたときにどれくらい増加するかを大まかに表す記法です。コンピュータの性能や実行環境に関わらず、アルゴリズムそのものの純粋な「賢さ」を測るために使われます。データの数Nに対して、処理回数が比例して増える場合...
動的計画法とは動的計画法(DP:Dynamic Programming)とは、大きな問題を解くために、それを小さな問題に分割して解き、その「途中の計算結果」をメモリなどに記録(メモ化)しておき、後で同じ計算が必要になったときに再利用するアルゴリズムの設計手法です。同じ計算を何度も繰り返す無駄を省くことで、処理時間を劇的に短縮することができます。通常、再帰呼び出しと呼ばれる手法などでは、過去に解いた...
分割統治法とは分割統治法とは、そのままでは解決するのが難しい大きな問題を、いくつかの「扱いやすい小さな問題」に細かく分割し、それぞれの小さな問題を個別に解決(統治)してから、最後にその結果を組み合わせて元の大きな問題の答えを導き出す手法です。このアプローチはアルゴリズム設計の基本であり、特にデータを並び替える「ソート」や、データを検索する処理でよく使われます。問題を細かく分割するプロセスは、これ以...
平衡二分探索木とは平衡二分探索木とは、データを効率よく検索するための「ツリー構造(木構造)」の一種で、左右の枝のバランス(高さ)が常にほぼ均等に保たれるように自動的に調整されるデータ構造です。「AVL木」や「赤黒木」などが有名です。通常の二分探索木は、データを追加していく順番によっては、枝が片側だけに偏って長く伸びてしまい、データを検索する効率が著しく低下して単なるリストのようになってしまう欠点が...
ハッシュ衝突とはハッシュ衝突とは、異なるデータ(入力値)をハッシュ関数と呼ばれる計算式に通した結果、偶然にも「全く同じハッシュ値(出力されるコード)」が生成されてしまう現象のことです。ハッシュ関数は、どんな長さのデータからも、固定された短い長さ of ランダムな値(ハッシュ値)を作り出す便利な仕組みです。しかし、入力できるデータのパターンは無限にあるのに対し、出力されるハッシュ値のパターンは有限で...