基礎理論
アルゴリズム
コンピュータ構成要素
システム構成要素
ソフトウェア
ハードウェア
ヒューマンインタフェース
マルチメディア
データベース
ネットワーク
セキュリティ
システム開発技術
ソフトウェア開発管理技術
😀 mypage
🥇 ranking
📊 chart
📏 rule
No.88 四つのデータA,B,C,Dがこの順に入っているキューと空のスタックがある。
手続pop_enq,deq_pushを使ってキューの中のデータをD,C,B,Aの順に並べ替えるとき,deq_pushの実行回数は最小で何回か。
ここで,pop_enqはスタックから取り出したデータをキューに入れる操作であり,deq_pushはキューから取り出したデータをスタックに入れる操作である。
⭕️
💾
🖊 ☑️
⭕️ [[ AnswerCalc[0] ]] % A [[ AnswerCalc[1] ]]
「キュー」と「スタック」のデータ構造についておさらいしておきます。
キュー
先入れ先出しのデータ構造で、データを追加操作はenqueue(エンキュー)、データを取り出す操作はdequeue(デキュー)と呼ばれる。
スタック
後入れ先出しのデータ構造で、データを追加操作はpush(プッシュ)、データを取り出す操作はpop(ポップ)と呼ばれる。
キューのデータをD,C,B,Aに並べ替える手順は次のようになります。
  1. 初期状態
  2. キューからAを取り出しスタックに追加する。(deq_push)
  3. キューからBを取り出しスタックに追加する。(deq_push)
  4. キューからCを取り出しスタックに追加する。(deq_push)
    これでDがキュー構造の先頭に配置されました。
  5. スタックからCを取り出しキューに追加する。(pop_enq)
  6. スタックからBを取り出しキューに追加する。(pop_enq)
  7. スタックからAを取り出しキューに追加する。(pop_enq)
    並び替え完了
つまりdeq_pushの実行回数は最小で3回になります。
💾 ✔️
[[ d.CommentTxt ]]
🏠 >   基本情報技術者試験 >     テクノロジー >     アルゴリズム >  
< >
🥇