【基本情報】データ構造のスタックとは?キューとの違いをわかりやすく解説!

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

データ構造スタックとキューについて

この記事で解決できる内容(※タップすると該当箇所までジャンプ!)

  • スタックとキューの仕組み
  • LIFOとFIFOの違い
  • Push/Popなど基本操作
  • 試験対策にも使える過去問演習

コンピュータでは大量のデータを効率よく扱うために、さまざまな「データ構造」が使われています。その中でも特に基本的で重要なのが、「スタック」と「キュー」という2つの構造です。

  • スタック:後入れ先出し(LIFO)
  • キュー:先入れ先出し(FIFO)

スタックとキューの違いをしっかり理解できれば、プログラミングや基本情報技術者試験の問題が格段に解きやすくなります

今回の記事では。「スタック」と「キュー」2つのデータ構造がどのような構造かを理解し、最後には基本情報技術者試験の過去問にも挑戦することで、理解を深めていきましょう。

後半では、基本情報技術者試験をはじめとしたIT資格に合格するための動画やオンライン講座でさらに理解を深めたい人向けに、おすすめの学習方法も紹介します。

ぺぺまる

ぜひ最後まで読みながら、試験対策に役立ててください!

IT資格の最短攻略なら

BizLearn紹介バナーデザイン

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

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

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

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

>> 本気で基本情報技術者試験の合格を目指したい方はコチラ

【スタックとは】後入れ先出し(LIFO)の基本構造をわかりやすく解説

スタックとは、後入れ先出しの構造です。LIFO:Last In, First Outのようにアルファベット4文字で表すこともあります。

イメージしやすい例としては、本や新聞を箱に重ねていく場面を想像してみましょう。最初に入れたものは一番下に押し込まれ、後から入れたものが上に積み重なります。

そして、取り出すときは一番上にある最後に入れたものから取り出していきます。

このように、先に入れたものが下になって後からしか取り出せない構造になっていることをスタック構造と呼びます。

【キューとは】先入れ先出し(FIFO)の基本構造をわかりやすく解説

キュー構造は先に入れたものから先に出すデータ構造です。FIFO(First In, First Out)とも呼ばれ、アルファベット4文字で表記されることもあります。

イメージしやすい例として、1車線のトンネルを想像してみましょう。最初に入った車が、最初に出口から出てきますよね。このように、先に入れたデータが先に取り出される仕組みをキュー構造と呼びます。

また、キューは、「待ち行列(Queue)」と呼ばれることもあります。例えばラーメン屋さんの行列では、先に並んだ人から順番に入店していきますよね。この感覚でキュー構造をイメージすると、さらに理解が深まります。

スタックが「後入れ先出し」だったのに対して、キューは「先入れ先出し」という真逆の特徴を持つ構造です。

LIFO(後入れ先出し)とFIFO(先入れ先出し)の比較

スタックやキューの構造は、LIFOFIFOといったアルファベット4文字で表現されることがあります。これはIT業界ではよくある略称ルールの一つです。

  • LIFOはLast In First Outの略:最後に入れたものが最初に出る → スタック型の構造
  • FIFOはFirst In First Outの略:最初に入れたものが最初に出る → キュー型の構造

それぞれの言葉は、データの「入れた順番」と「取り出す順番」の関係を表しています。

  • LIFO=スタック構造(後入れ先出し)
  • FIFO=キュー構造(先入れ先出し)

この違いを正しく理解しておくと、プログラミングや試験問題で出てきたときにもスムーズに対応できるようになります。

【PushとPopとは?】スタックの基本操作を図解でわかりやすく

スタック構造では、データの追加・取り出しをそれぞれ「Push操作」「Pop操作」と呼びます。基本情報技術者試験などでも当たり前のように出題される用語なので、意味を正確に押さえておきましょう。

  • Push操作(プッシュ)・・・スタックへデータを格納する操作のこと
  • Pop操作(ポップ)・・・スタックからデータを取り出す操作のこと

操作のイメージをわかりやすくするために、簡単な図で確認してみましょう。

Push操作とPop操作を図解

スタック構造におけるPush操作とPop操作の流れを図解|基本情報技術者試験対策にも使えるイメージ図

上の図のように、Push操作ではデータがスタックの上に積み重なりPop操作では一番上のデータから順に取り出されていく動きになります。

このような動作は、基本情報技術者試験でもよく出題され、「次にPopすると取り出されるデータは?」といった問題が定番です。図の流れと用語の意味をセットで覚えておくと、試験本番でも素早く判断できるようになりますよ!

【過去問演習】スタック問題を実際に解いて理解を深めよう!

A,C,K,S,Tの順に文字が入力される。スタックを利用して,S,T,A,C,Kという順に文字を出力するために,最小限必要となるスタックは何個か。ここで,どのスタックにおいてもポップ操作が実行されたときには必ず文字を出力する。また,スタック間の文字の移動は行わない。

出典:令和元年秋期 問8

この問題を解くにあたって理解していないといけないこと。

  • スタックとはなにか
  • ポップ操作とは何か
  • スタックを利用して文字を出力する方法

スタックは最小で何個必要かを調べるので、

スタック一つだと「S,T,A,C,Kという順に文字を出力」できるかどうかをまず確かめます。

スタック1 の箱にA→C→K→Sの順番で入れていきます(プッシュ操作)。

スタックは後入れ先出しの性質なので、最後に入れたSを出力します(ポップ操作)。

そしてもう一度プッシュ操作を行なってTをスタック1に入れます(プッシュ操作)。

最後に入れたTが出力できるので出力します(ポップ操作)。

その次に出力できるのがKとなっていてその下のCとAは取り出せません。

つまりスタック1個だと並び替えができません。

続いてスタックが2個の場合を考えていきます。

スタックが2個、つまり箱が2個あるのをイメージしてください。

後入れ先出しできる箱が二つあるのでそれを使って並び替えができるかを確かめます。

まずスタック1の箱にA→Cと入れていきます(プッシュ操作)。

同じようにスタック2の箱にもK→Sと入れていきます(プッシュ操作)。

これでSが出力でき、Tも出力できます。

しかし次に出力したいAがCの下にあるため、出力できません。

仮にスタック1にAだけ入れて

スタック2にC→K→Sを入れたとすると、

今度はAまで出力できますが、今度はKが邪魔でCを出力できません。

よってスタックは2個でも並び替えはできません。

続いてスタックが3個の場合を考えます。

スタック1にAを、スタック2にC、スタック3にK→S、そしてスタック2にTを入れます。(あくまでも一例で入れ方は複数あります)

後入れ先出しの性質より一番上のSとTとAは出力できます。

そして残りのCとKも取り出せる位置にあるので、

スタックが3つあると並び替え可能とわかりました。

よって答えは3個となります。

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

ここまでで、スタックやキューの基本構造・操作の仕組みが理解できたかと思います。ただ、本番の試験では用語の暗記だけでなく、出題形式に慣れておくことが合格のカギになります。

そこで最後に、基本情報技術者試験の合格に向けて、「効率よく理解を深められるおすすめの学習方法」を3つご紹介します!

おすすめの学習方法3選

  • スキマ時間に進めたい人向けの【動画教材】
  • 科目A免除制度を活用できる【オンライン通信講座】
  • 定番のインプットに使える【参考書】

動画教材

短時間でサクッと理解したい人には、動画教材での学習が最適です。

スタックやキューといったデータ構造は、動きのイメージが掴めるかどうかで理解度が大きく変わります。文章や図だけではピンとこない人も、アニメーションや音声解説があるとスッと頭に入ることが多いです。

特におすすめなのが「Udemy(ユーデミー)」という学習プラットフォーム。基本情報技術者試験の頻出分野をまとめた動画講座が充実していて、セール時には1,000円台から購入可能。買い切り型で視聴期限がなく、スマホでも再生できるのでスキマ時間にも最適です。

ぺぺまる

「スタックの動きがイメージできない…」という方は、一度動画での学習を試してみると理解が一気に深まりますよ。

ITスキルを磨くならUdemy

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

Udemy セール状況を確認する

オンライン通信講座

「絶対に一発で合格したい!」という人には、オンライン通信講座の受講も検討の価値ありです。

試験範囲が広く独学では不安な人にとって、カリキュラムに沿って学べる通信講座は時間効率が非常に高いです。最近では「科目A免除制度」に対応した講座もあり、うまく活用すれば試験の難易度を大きく下げることも可能です。

おすすめは【Bizlearn(ビズラーン)】のオンライン講座。基礎からしっかり解説してくれるうえ、修了すれば科目Aが免除される特典つき。通勤中やちょっとした空き時間でもスマホで学習できるので、忙しい人にもぴったりです。

ぺぺまる

「自力じゃちょっと不安…」という方は、まず無料カウンセリングや資料請求からでもOKです!

BizLearnの講座を確認する

参考書

じっくり体系的に学びたい人には、定番の参考書も根強い人気があります。

書籍はいつでも手元で見返せて、マーカーや付箋などで自分なりに整理しながら学習できるのが強み。また、問題演習もセットになっている参考書なら、インプットからアウトプットまで1冊で完結します。

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

Amazonで見る

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

Amazonで見る

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

Amazonで見る

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

特におすすめの参考書は『キタミ式イラストIT塾』シリーズ。図解とやさしい言葉でデータ構造の概念を解説してくれるので、初学者でも挫折しにくい一冊です。

まずは自分に合いそうな一冊を選んで、スキマ時間に少しずつ進めていくのがおすすめです。

【まとめ】スタックとキューの違いを理解して試験対策に活かそう!

今回はスタック操作についてまとめていきました。

プッシュ操作、ポップ操作や、LIFO、FIFOなどのワードは問題文で出てきたときに問題を理解するために覚えておく必要があります。

これからも過去問を解説していくので一緒に理解していきましょう!

本記事のまとめ

  • スタック・・・後に入れたものを先に出す性質(LIFOとも呼ぶ)のある箱のこと!
  • キュー・・・先に入れたものを先に出す性質(FIFO)のある箱のこと!
  • Push操作・・・スタックやキューにデータを入れること!
  • Pop操作・・・スタックやキューからデータを取り出すこと!
  • この記事を書いた人

ぺぺまる

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

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

-基本情報技術者試験
-