オーダー記法(O記法)と計算量についてわかりやすく解説!!【基本情報】

一部プロモーションを含みます

基本情報-オーダー記法についてわかりやすく解説
この記事で解決できる内容

※見たいところをタップするとジャンプできます。

オーダー記法(O記法)」とは、アルゴリズムがどれくらいの処理時間や回数で動くのかを表すための計算量の表記法です。

たとえば、大量のデータから特定の情報を探す「探索アルゴリズム」や、データを並べ替える「整列アルゴリズム」などでは、処理量がデータの数nに対してどのように増えるのかをO(n)O(log n) といった形で表します。

基本情報技術者試験などの情報系資格では、「O(n²)はどれ?」「2分探索の計算量は?」といった問題もよく出題されます。

整列されたn個のデータの中から,求める要素を2分探索法で探索する。この処理の計算量のオーダを表す式はどれ整列されたn個のデータの中から,求める要素を2分探索法で探索する。この処理の計算量のオーダを表す式はどれか。

ア. log n

イ. n
ウ. n2
エ. n log2

平成27年春期 問6

これから基本情報技術者試験をはじめとしたIT資格試験を受ける予定があるなら、しっかり理解しておくべき重要なテーマです。

ぺぺまる

資格取得で自信をつけたいあなたを全力応援中!ぜひ最後まで読んでみてください💪

ITスキルを磨くならUdemy

IT資格の人気オンラインコース
  • 最大95%OFFで有料コンテンツが購入可能!
  • ITスキルを本よりもわかりやすく体系的に学べる!
  • スキマ時間で学習が可能!

Udemy セール状況を確認する

>> 基本情報技術者試験の学習方法をまとめた記事はこちら

オーダー記法(O記法)についてわかりやすく解説

オーダー記法(O記法)

オーダー記法とはアルゴリズムの性能を評価する際に用いられる計算量を表現する方法のことで、O(1) や O(log2n) のように表現します。

1つの問題を解決するにあたって、たくさんのアルゴリズムが存在しており、どのアルゴリズムを採用するか判断するために、アルゴリズムの良しあしを比較するときなどに計算量で比較したりします。

オーダー記法が表す計算量とは?

計算量とはアルゴリズムの性能を表す指標となる値です。

アルゴリズムが、処理の完了にかかる時間や、処理の回数を数値で表したもので、

このときに便利なのが計算量です。計算量には、時間計算量空間計算量が存在しますが、今回のオーダー記法で表現するのは、時間計算量です。

  • 時間計算量とは、その問題を解決するには何回処理を行う必要があるのか、という処理回数のことです。
  • 空間計算量とは、その問題を解決するにあたって必要とするメモリ、いわゆる記憶領域の量のことです。

優秀なアルゴリズムとは?

アルゴリズムとは、コンピュータの処理の手順や計算方法のことで、アルゴリズムを見える化したものを流れ図やフローチャートと呼ばれます。

例えば、「野菜炒めを作るアルゴリズム」とは「野菜炒めを作る手順」という意味で、

  • 野菜を洗う
  • 野菜を切る
  • フライパンを火にかける
  • 油を入れる
  • 野菜を炒める
  • 皿に盛り付ける

一番、処理の回数が少なく、処理が完了するまでの時間も短いアルゴリズムが「優秀なアルゴリズム」です。

探索アルゴリズム計算量でオーダー記法をわかりやすく説明します

探索アルゴリズムの種類

オーダー記法の違いを分かりやすく説明するときに便利なのが、探索アルゴリズムです。

探索アルゴリズムとは「特定の値を探索するアルゴリズム」のことで、以下のような種類があります。

  • 線形探索法
  • 2分探索法
  • ハッシュ表探索法(ハッシュ法)
ぺぺまる

ざっくりどんなアルゴリズムで探索するのかを説明した後に、オーダー記法の説明をしますね!!

線形探索法の計算量は?

線形探索法とは、データが配列に格納されているときに便利な探索法です。

特に断りが無い限り、データは配列に格納されています。線形探索法は配列の先頭から添字を更新しながら順々に比較していく単純な方法です。

線形探索法のポイントは以下の通りです。

線型探索法のポイント
  • データを先頭から順々に比較して、目的のデータを探し出す。
  • データは、ばらばらに並んでいて良い
  • データがN件のとき
    • 平均比較回数:(N + 1) ÷ 2回
    • 最大比較回数:N回

2分探索法の計算量は?

2分探索法とは、昇順もしくは降順に整列されたデータ領域の中央を調べ、目的のデータが中央の値より前にあるか後ろにあるかを判断して、段々と範囲を絞っていく探索アルゴリズムです。

2分探索法のポイントは以下のとおりです。

2分探索法のポイント
  • データ領域の中央値で比較し、探索範囲を絞り込み、目的のデータを探し出す。
  • データは、昇順か、降順に整列されていなければならない。
  • データがN件のとき、
    • 平均比較回数:log2N 回
    • 最大比較回数:log2N + 1回

ハッシュ探索法(ハッシュ法)の計算量は?

ハッシュ表探索法(ハッシュ法)は、データをあらかじめ探しやすいところにおいておく方法です。

格納するときも探索するときもハッシュ関数と呼ばれる関数で格納位置を計算するため、1回の探索で特定のデータを見つけ出すことができます。ハッシュ関数を使ってデータを格納する配列などの領域をハッシュ表と呼びます。

ハッシュ法のポイントは以下のとおりです。

ハッシュ表探索法のポイント
  • データをハッシュ関数で計算した位置に格納しておく。
  • 異なるデータが同じ位置になる衝突を起こしてしまう事がある。
  • 衝突のため格納できないデータのことをシノニムと呼ぶ。
  • データがN件のとき、
    • 平均比較回数:1回
    • 最大比較回数:N回

整列アルゴリズムとオーダー記法

整列法(ソート)の種類

整列法とはデータ列をキー項目の昇順(小さい順)、または、降順(大きい順)に並べ替えることをデータのソート(整列)といいます。

整列法の種類にはバブルソート・選択ソート・挿入ソートなどがあります。

探索法と同様に、情報技術者試験ではそれぞれの整列法がどのような並び替えの方法なのかを問う問題が出題されているので、一つ一つ解説していきます。

バブルソート(交換ソート)の計算量は?

バブルソート(交換ソート)とは隣同士のデータを比較して大小関係が逆ならば交換を行う整列法です。

{ 4.2.5.3.1 } という配列をバブルソートで昇順に並び替えましょう。

4と2の大小関係を比較し、逆だとわかり入れ替えます⇒ { 2.4.5.3.1 }

続いて4と5の大小関係を比較するとそのまま、5と3の比較に移ります。

5と3は大小関係が逆なので交換します ⇒ { 2.4.3.5.1 }

という感じでちまちま並び替えしていき、最終的に{1.2.3.4.5}にする整列法です。

選択ソートの計算量は?

選択ソートとは、一番大きなデータを選んで末尾に置いて行く整列法です。

{ 4.2.5.3.1 }の配列を選択ソートを用いて整列していきましょう。

{ 4.2.5.3.1 }で一番大きな値は5なので5を末尾の1と交換する。 ⇒ { 4.2.1.3.5 }

続いて5は確定したので次に大きいのは4のため4と3を交換する。 ⇒ { 3.2.1.4.5 }

と繰り返していき、最終的に{1.2.3.4.5}とする整列法です。

挿入ソートの計算量は?

挿入ソートとは、データを一個取り出して、置くべき位置に挿入していく整列法です。

同じように{ 4.2.5.3.1 }を挿入ソートを利用して昇順に並べ替えてみましょう。

まずは空の配列{}を用意して、{ 4.2.5.3.1 }の先頭の4を入れます。 ⇒ {4} { 2.5.3.1 }

{ 2.5.3.1 }の先頭2を置くべき位置に挿入します。 ⇒ {2.4}と{ 5.3.1 }

といった順序で1つずつデータ列に挿入していくことで昇順に並び替える整列法です。

その他の整列法:高速ソート法

午前試験では用語のみが出題されるだけなので今回の記事では用語を説明することとします。

高速ソート法には、クイックソート・シェルソート・マージソートなどがあります。

高速ソート法の種類
  • クイックソート ⇒ 適切な基準値より小さなデータと大きなデータに振り分け、領域を分割することを繰り返す
  • シェルソート ⇒ データをある感覚ごとのデータ列に分け、挿入法で並べ替え、最終的に間隔を1にする整列法。
  • マージソート ⇒ データをいくつかのグループに分割し、整列と併合を行う方法。

オーダー記法の暗記ポイントをまとめます

暗記ポイント

基本情報技術者試験の午前試験ではオーダー記法は覚えておけば時間もかからず解ける問題ばかりのため、計算量を暗記しておくと良いです。

暗記しやすいように、オーダー記法から探索アルゴリズムや整列法へ逆引きもしておきます。

O(1) の意味とは?

O(1)はデータ量がどんなに増えても、処理回数(計算回数だったり探索回数)を常に1回しか行わないという意味です。

探索アルゴリズムでいうとハッシュ法探索の計算量がO(1)です。

O(n) の意味とは?

O(n)はデータ量がnだけ増えると、処理の回数もn増えるという意味です。

探索法や整列法でいうと、線形探索法の計算量が O(n) です。

O(n2)  の意味とは?

O(n2)は、データ量が増えると処理回数はn2ずつ増えるという意味を表しています。
具体的にはソートがこれに当たります。

整列法の挿入ソートの計算量が O(n2) です。

O(log2n) の意味とは?

O(log2n)は、データ量がn増えると、計算量が log2n ずつ増えるというのを表現しています。

log2n が分かりづらいですが、log2n = E は 2E = n と同じ意味です。「2を何乗したらnになるのか」を表しており、そのため、O(√n)と似た意味になります。

探索法や整列法でいうと2分探索法の計算量が O(log2n)です。
正直logの意味が分かりづらい人もいると思いますが、そういうときは「2分探索法の計算量がlog」とだけ覚えておきましょう。

オーダー記法に関する基本情報技術者試験の過去問題にチャレンジ!

Let's try!

2,000個の相異なる要素が,キーの昇順に整列された表がある。外部から入力したキーによってこの表を2分探索して,該当するキーの要素を取り出す。該当するキーが必ず表中にあることが分かっているとき,キーの比較回数は最大何回か。

ア. 9
イ. 10
ウ. 11
エ. 12

出典:平成20年秋期 午前問13

整列されたn個のデータの中から,求める要素を2分探索法で探索する。この処理の計算量のオーダを表す式はどれ整列されたn個のデータの中から,求める要素を2分探索法で探索する。この処理の計算量のオーダを表す式はどれか。

ア. log n

イ. n
ウ. n2
エ. n log2

出典:平成27年春期 午前問6

整列アルゴリズムの一つであるクイックソートの記述として,適切なものはどれか。

ア. 対象集合から基準となる要素を選び,これよりも大きい要素の集合と小さい要素の集合に分割する。この操作を繰り返すことで,整列を行う。
イ. 対象集合から最も小さい要素を順次取り出して,整列を行う。
ウ. 対象集合から要素を順次取り出し,それまでに取り出した要素の集合に順序関係を保つよう挿入して,整列を行う。
エ. 隣り合う要素を比較し,逆順であれば交換して,整列を行う。

出典:平成27年秋期 問7

基本情報技術者試験などIT資格におすすめの学習方法3選

オーダー記法について学習している人の中には、基本情報技術者試験の学習をしている人も多いのではないでしょうか?

もしも基本情報技術者試験を確実に1発で合格したいのであれば、参考書オンライン学習サービスを利用するのがおすすめです。

以下のサービスを利用して基本情報技術者試験合格を目指してみてください!

基本情報技術者試験おすすめの学習方法
学習手段おすすめ度特徴向いている人主なサービス例
本・参考書・費用が安い
・自分のペースで進められる
・網羅性が高い
・独学が得意な人
・紙で学習したい人
・キタミ式
・栢木先生
動画講座(Udemy)・映像で理解しやすい
・1講座単位で学べる
・レビューが豊富
・図や動きで理解したい人
・短期集中型
・Udemy
・YouTube
オンライン通信講座・カリキュラムが組まれている
・質問サポートあり
・スキマ時間に学べる
・効率的に合格したい人
・学習管理が苦手な人
・BizLearn
・スタディング

関連記事:【IT登竜門】基本情報技術者一発合格!おすすめの学習方法5選

動画学習(Udemy)|スマホでスキマ時間にインプット!

動画講座は、図解や実演つきで視覚的に理解できるので、参考書でつまずいた人でもスッと頭に入ります。

Udemyでは、基本情報技術者試験やアルゴリズムの基礎を学べる講座が多数あり、セール時は1,000円台で購入できるのも魅力です。

こんな人は動画学習がおすすめ!

  • 漫画よりでアニメ派の人
  • 解説を聞きながら理解したい
  • 忙しくてもスキマ時間で学習したい

合わせて読みたい

Udemyの基本情報技術者試験対策おすすめ講座
Udemyで基本情報技術者試験合格を目指す!おすすめ講座5選!

続きを見る

オンライン通信講座(スタディング・BizLearnなど)|体系的に合格を狙う

基本情報技術者試験を、確実に1発で合格したいのであれば、「オンライン通院講座」を利用して最短最速で学習するのもおすすめです。

合格までの学習プランが組まれており、スケジュール管理や復習機能も充実。インプットとアウトプットのバランスが良く、試験慣れしやすいからです

特に以下の3つのサービスがおすすめです。

こんな人はオンライン通信講座がおすすめ!
  • 独学だと挫折しやすい
  • カリキュラムに沿って進めたい
  • 合格までサポートしてほしい

特に、基本情報技術者試験をBizLearn(ビズラーン)で学習するのであれば、科目A試験を免除できる制度があるため、学習効率を飛躍的にアップさせることができます。本気で合格を狙っている人はぜひ講座の確認をしてみてください。

IT資格の最短攻略なら

BizLearn紹介バナーデザイン

BizLearnは累計受講者数7,429万人以上のネットラーニングが提供するオンライン講座です!

  • 動画で「平均アクセス時間」の仕組みがスッと理解できる!
  • スマホ対応で、スキマ時間でも効率的に学べる!
  • 過去問ベースの演習で本番にも強くなる!

「計算問題が苦手…」「公式が覚えられない…」そんなあなたにおすすめ!30%OFFのセールを行っていることもありますので、まずはセール状況だけでも確認してみてください!

BizLearnの公式サイトを確認する

合わせて読みたい

Bizlearn 評判・口コミの記事のアイキャッチ
BizLearn基本情報講座の評判・口コミは?おすすめポイントまとめ

続きを見る

書籍・参考書|昔ながらの定番スタイルでじっくり学ぶ

基本情報技術者試験の学習をコストを抑えて学びたい人にとって、参考書は最強コスパの学習手段です。

ただし、図や文章の理解に時間がかかる場合があるため、「まず全体像を動画で掴んでから読む」といった併用も効果的です。

こんな人は参考書の学習がおすすめ
  • 手で書き込みながら覚えたい
  • 学生時代から教科書と問題集の学習に慣れている人
  • スマホを触ると他のアプリを触ってしまいそう...

それぞれに、メリット・デメリットが存在しており、あなたの学習意欲が湧き上がる、よりわかりやすい参考書を選ぶ必要があります。

もし、おすすめの参考書が知りたいのであれば、下記3冊の中から選んでいただければ間違いなしです!

基本情報技術者試験の独学におすすめの参考書
書籍名購入リンクおすすめポイントこんな人におすすめ
栢木先生:基本情報技術者試験
栢木先生の基本情報技術者教室

Amazonで見る

・教科書と問題集がオールインワン
・イラスト/図解/例えが豊富
・まずは楽しく学びたい人向け
・文章だけだと続かない人
キタミ式:基本情報技術者試験
キタミ式イラストIT塾 基本情報技術者

Amazonで見る

・IT初心者でもわかりやすい
・大容量816ページ
・IT初心者
・他の本で挫折しそうな人
合格教本:基本情報技術者試験
基本情報技術者 合格教本

Amazonで見る

・問題演習Webアプリと連動
・出題傾向がつかめる
・演習中心で学びたい人向け
・苦手克服や直前対策をしたい人

以下の記事では、それぞれの参考書がどんな人におすすめなのか、メリットやデメリットを紹介しているので、基本情報技術者試験を本や参考書で学習したい人は是非読んでみてください!

合わせて読みたい

基本情報おすすめ参考書5選
基本情報技術者試験おすすめ参考書10選|独学で合格するための最新版テキストを厳選!【令和7年度対応】

続きを見る

まとめ

今回は、基本情報技術者試験でも頻出の「オーダー記法(O記法)」について、探索・整列アルゴリズムとセットでわかりやすく解説してきました。

オーダー記法は単なる“暗記項目”ではなく、「どんな処理がどれだけの回数動くか?考え方の軸を掴むことが大切です。探索アルゴリズムや整列法(ソート法)とセットで理解しておきたいところ。

次にやるべきアクション!

  • まずは復習!
    • この記事で紹介した「探索・整列法とO記法」を自分で図にまとめてみよう
    • 過去問を1問だけでいいので手を動かして解いてみよう
  • 学習を加速させたい人は?
    • スキマ時間で動画学習できる【Udemy】の講座をチェック!
    • 合格までサポートしてくれる【Bizlearn】もおすすめ!
ぺぺまる

「オーダー記法むずかしそう…」と思っていた人も、少しでもクリアになったならOK!
試験合格に向けて、あなたのペースで進めていこう。ぺぺまるがいつでも応援してるよ💪✨

  • この記事を書いた人

ぺぺまる

 
\ 資格取得が、自信をくれた /

札幌生まれ札幌育ちの28歳|IT資格ブログ歴3年|アウトプットブログ ▶IT資格特化ブログ 
何者でもなかった自分が「自信」を持てたきっかけは、1つの資格取得でした。 
このブログでは、IT資格を目指す人に向けて、勉強法・おすすめ教材・試験のリアルな体験談を発信中。 「資格を取って、未来を変えたい」そんなあなたの一歩を応援します。

-基本情報技術者試験
-