7-1.スタックとキュー【アルゴリズム】基本情報技術者試験対策

Поділитися
Вставка
  • Опубліковано 5 лис 2024

КОМЕНТАРІ • 5

  • @tattsun999
    @tattsun999 2 роки тому

    どこも誰も説明していないようなのですが、スタックとかキューの数が3つまで、というルールはどこから来るのでしょうか? これって空気みたいに当たり前の話なのでしょうか? どこ読んでも、どこみても当たり前のようで誰も説明していないんですよね…。
     「そこじゃないんだよ! なんで3つなの?!」と思うのですが、説明皆無。
    平成29年度のスタックの問題は、どこからどうやってスタックが3つだと判断するのでしょうか?

    • @medium-company
      @medium-company  2 роки тому

      スタックとキューが3つまでというルートはありません。
      平成29年のスタックの問題はどの問題でしょうか?

    • @tattsun999
      @tattsun999 2 роки тому

      @@medium-company
      平成29年度の過去問は、
      「A, B, C, Dの順に到着するデータに対して、一つのスタックだけを用いて出力可能なデータ列はどれか。
      ア. A、D、B、C
      イ. B、D、A、C
      ウ. C、B、D、A
      エ. D、C、A、B 」
      というものです。

    • @medium-company
      @medium-company  2 роки тому +2

      文字での説明は難しいので分かりづらいと思いますが、以下のように解答ウしか、1つのスタックだけでは出力できないようになっています。
      ■解答ア(A,D,B,C)
      PUSH(A):スタック[A]、出力[]
      POP(A):スタック[]、出力[A]
      PUSH(B):スタック[B]、出力[A]
      PUSH(C):スタック[B,C]、出力[A]
      PUSH(D):スタック[B,C,D]、出力[A]
      POP(D):スタック[B,C]、出力[A,D]
      POP(C):スタック[B]、出力[A,D,C]
      → NG:A,D,Cになってしまう。
      ■解答イ(B,D,A,C)
      PUSH(A):スタック[A]、出力[]
      PUSH(B):スタック[A,B]、出力[]
      POP(B):スタック[A]、出力[B]
      PUSH(C):スタック[A,C]、出力[B]
      PUSH(D):スタック[A,C,D]、出力[B]
      POP(D):スタック[A,C]、出力[B,D]
      POP(C):スタック[A]、出力[B,D,C]
      → NG:B,D,Cになってしまう。
      ■解答ウ(C,B,D,A)
      PUSH(A):スタック[A]、出力[]
      PUSH(B):スタック[A,B]、出力[]
      PUSH(C):スタック[A,B,C]、出力[]
      POP(C):スタック[A,B]、出力[C]
      POP(B):スタック[A]、出力[C,B]
      PUSH(D):スタック[A,D]、出力[C,B]
      POP(D):スタック[A]、出力[C,B,D]
      POP(A):スタック[]、出力[C,B,D,A]
      → 出力できたので正解
      ■解答エ(D,C,A,B)
      PUSH(A):スタック[A]、出力[]
      PUSH(B):スタック[A,B]、出力[]
      PUSH(C):スタック[A,B,C]、出力[]
      PUSH(D):スタック[A,B,C,D]、出力[]
      POP(D):スタック[A,B,C]、出力[D]
      POP(C):スタック[A,B]、出力[D,C]
      POP(B):スタック[A]、出力[D,C,B]
      → NG:D,C,Bになってしまう。

    • @tattsun999
      @tattsun999 2 роки тому

      @@medium-company
      理解出来ました。
      解答の選択肢の順番でpopできるのは、どの選択肢なのか? ということなのですね。