30年度秋午後問3

自信ないさん  
(No.1)
午後問3の皆様の解答を教えていただけませんでしょうか。
2018.10.22 07:29
jackさん 
(No.2)
1.???
2.?????
3.??
4.??

文字化けしてたらすみません
2018.10.22 13:46
組込ソフト屋のケロさん 
(No.3)
試験お疲れさまでした。
今回のプログラミングは難しかったですね。。。

僭越ながら、私の解答を。

平成30年度  秋  午後 問3  プログラミング
設問1
  ア  …  10001
  イ  …  TGGGT
設問2
  ウ  …  3
設問3
  エ  …  DEPTH-d
  オ  …  r
  カ  …  0
  キ  …  count
設問4  ※わからなくて適当に解答しました。
  ク  …  σ
  ケ  …  N
  コ  …  N×σ
2018.10.22 13:47
オーダー記法はやめてさん 
(No.4)
皆さま試験お疲れ様でした。
出て来るなと思っていたオーダー記法が見事に出てきてしまいました。

終わったことは置いといて私の回答を 組込ソフト屋のケロさん と異なる部分だけ載せます。

設問2
ウ…5
設問4
コ…N×(logσ+1)
です。
ウに関しては根の0の個数なので5になります。
またコに関してもN×logσのlogσは深さを表しており、このままでは根のキー数が抜けてしまうので+1が必要になるはずです。

ちなみに設問4の他の回答に関しましては調べたところケロさんが書かれているのが正解になると思います。
2018.10.22 20:01
poiさん 
(No.5)
コは「ビット列の長さの総和」なので
コ…N×DEPTH×(logσ+1)
ではないかと思いますが、どうでしょう?
2018.10.22 20:57
問3さん 
(No.6)
コですが、私は  N×logσ  にしました。
図1の例を見ると、4種類(2の2乗)で10文字の場合は、キー値のビット数は20ビットです。
N×logσ = 10×2 = 20 で一致します。

2018.10.22 22:32
ててさん 
(No.7)
根を忘れていますよ。
30ビットです。
正解はNo.4さんの式ですね。
2018.10.22 22:54
問1さん 
(No.8)
本文にはウェーブレット木の構築には「ノードの深さに応じて決まるビット位置の値を取り出してキー値として登録する」と書かれています。
ビット位置は(深さ+1)番目なので、図1の例だと根は1番目、深さ1のノードは2番目のビットになります。
このルールだと、深さ2のノードにはキー値が登録されないので、ウェーブレット木には深さ2のノードは生成されないものだと思ってました。
なので、根が10ビット、深さ1が10ビットで計20ビット。
2018.10.22 23:12
uudさん 
(No.9)
コはNo.6さんと同じくN*logσにしました。
文字の出現回数を数える操作から、特定の文字の符号に注目すると左から1ビットずつ順に経路のキーの値になっているので、各キーの長さ(logσ)*文字数(N)が全体のキーの長さの総和になると思います。
2018.10.22 23:19
問3さん 
(No.10)
補足ですが、
[ウェーブレット木の構築]の(3)の記述には取り出した文字列が1種類の場合は新たなノードは生成しないと書かれていますので、
やはり深さ2のノードは生成されないと思います。
図1の右側の図に深さ2まで書かれているので紛らわしいですが、実際に生成されるウェーブレット木は図1左側の深さ1の木になると思います。
2018.10.22 23:38
DB難しいさん 
(No.11)
私もN *logσにしました。
深さ0(根)が10ビット。深さ1(葉)が5ビット×2=10ビット。
計:20ビットで一致すると思いました。
明日の解答速報を待つしかないですね。。
2018.10.23 00:28
オーダー記法はやめてさん 
(No.12)
問題見直しましたが、たしかにNo10さんが言われてる通りに書かれてますね。
というより、このアルゴリズムではそもそもlogσ分のbitで1文字を表すため、この問題の例では2回までしかキーを取り出せない…
つまりウは N×logσ でしたね。
完全に勘違いしてました。
2018.10.23 07:44

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop