HOME»応用情報技術者試験掲示板»平成29年春期午後問3-4
投稿する
»[3134] 平成31年春期 午後問4 設問2(2)について 投稿数:8
»[3133] H28春 ネットワーク(午後) 投稿数:13
平成29年春期午後問3-4 [3136]
つきねこさん(No.1)
https://www.ap-siken.com/kakomon/29_haru/pm03.html
問4で解説が理解できません。
解説にあるようにnが4つの場合、状態が2の4乗であることは理解できましたが、プログラムではデキューによる状態の取り出しをしており、最大で16(2の4乗)の状態がメモリに埋まることはないと考えているのですが、なにか誤解しているのでしょうか。
ご教示お願いいたします。
問4で解説が理解できません。
解説にあるようにnが4つの場合、状態が2の4乗であることは理解できましたが、プログラムではデキューによる状態の取り出しをしており、最大で16(2の4乗)の状態がメモリに埋まることはないと考えているのですが、なにか誤解しているのでしょうか。
ご教示お願いいたします。
2022.02.12 21:17
nsさん(No.2)
★AP ブロンズマイスター
図1をもとにキューの中身をトレースしてみてください。
以下、左をキューの先頭(取り出す側)、右をキューの末尾(格納する側)とします。
まず、初期状態Aがキューに入ります(手順1)。
A
キューからAを取り出します(手順2)。
(キューは空)
次の数を選択した状態B、次の数を選択しない状態Cをキューに入れます(手順3)。
B C
以下、手順2、3の繰り返しです。
キューからBを取り出し、次の状態D、Eをキューに入れます。
C D E
キューからCを取り出し、次の状態F、Gをキューに入れます。
D E F G
このように、ツリー上に並んだ各状態を1段ずつ、左から調べていくことになります。
(アルゴリズムの世界では幅優先探索(BFS)と呼ばれるものです。)
n=4とすると、初期状態を含めて全部で5段のツリーが形成されますが、
4段目をすべて処理し、5段目を1つも処理していないタイミングで、2^4=16個の状態がキューの中に入ることになります。
※図1でいうと、Gの右下の状態をキューから取り出し、そのさらに下の2つの状態をキューに入れたタイミングです。
以下、左をキューの先頭(取り出す側)、右をキューの末尾(格納する側)とします。
まず、初期状態Aがキューに入ります(手順1)。
A
キューからAを取り出します(手順2)。
(キューは空)
次の数を選択した状態B、次の数を選択しない状態Cをキューに入れます(手順3)。
B C
以下、手順2、3の繰り返しです。
キューからBを取り出し、次の状態D、Eをキューに入れます。
C D E
キューからCを取り出し、次の状態F、Gをキューに入れます。
D E F G
このように、ツリー上に並んだ各状態を1段ずつ、左から調べていくことになります。
(アルゴリズムの世界では幅優先探索(BFS)と呼ばれるものです。)
n=4とすると、初期状態を含めて全部で5段のツリーが形成されますが、
4段目をすべて処理し、5段目を1つも処理していないタイミングで、2^4=16個の状態がキューの中に入ることになります。
※図1でいうと、Gの右下の状態をキューから取り出し、そのさらに下の2つの状態をキューに入れたタイミングです。
2022.02.13 15:55
その他のスレッド
»[3135] 令和3年春期午後問1 投稿数:15»[3134] 平成31年春期 午後問4 設問2(2)について 投稿数:8
»[3133] H28春 ネットワーク(午後) 投稿数:13