H30春 午後 問8アルゴリズムd,eについて

おうむさん  
(No.1)
こちらの問題で、式をよく見ず説明文から等号を含まないで良いだろうと判断して選択肢を選んでしまいました(d:ウ,e:ア)

もちろん、式見れば回答通りですが、そもそも等号が成り立つ時(左の子=右の子)の時は交換しないアルゴリズムで良いのでは?逆に冗長では?と思ったのですが、等号無いとバグ等に繋がるのでしょうか?

プログラムをしっかり見てるかを問う引掛け的問題だったとみなしてよいものかと疑問に思いましたもので。

(或いは根本的に何か間違ってる?!)

ご指摘等戴けたら幸いです
2020.08.13 09:13
おうむさん  
(No.2)
スレ主です。
上記 d のみです。 eは関係ありません。
失礼しました。
2020.08.13 09:27
guestさん 
FE・ブロンズエキスパート
(No.3)
【1】
> 等号無いとバグ等に繋がるのでしょうか?
私ではこういう場合にバグが発生するといった事例を見つけることはできませんでした。
現行の設問2の解説の最下部についているおまけ(?)を拝借して、downHeapの7行目を
if (heap[tmp] < heap[rchild(n)]) {
に変更したうえでいくつかのdata[]を試してみましたが結果はすべてうまくソートできていました。
【2】
> プログラムをしっかり見てるかを問う引掛け的問題だったとみなしてよいものかと疑問に思いましたもので。
ipaによる講評
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_1/2018h30h_fe_pm_cmnt.pdf
では論理的にどうかというよりはプログラムの演算子を見てほしかったみたいなことを言っているので。。。うーんそっちなのかなぁ??
選択肢ウへの挑戦者求ム!
2020.08.13 22:07

返信投稿用フォーム

スパム防止のためにスレッド作成から30日以上経過したスレッドへの書き込みは禁止しています。

その他のスレッド


Pagetop