HOME»基本情報技術者試験掲示板»平成30年春期午後問8
投稿する

[2698] 平成30年春期午後問8

 Greetingさん(No.1) 
解答欄eについて
解説では、「3~5行目  初回の downHeap の開始時点でデータは 20 30 45 15 5 10 60
と並んでいて」とありますが、トレースで上手く導き出せません。

要素番号「20」が一番前に前に来ていると読み取るには、どこに着目すれば
よろしいでしょうか。

お教え頂ければ幸いです。
2021.01.20 11:08
sumakkoさん(No.2) 
FE シルバーマイスター
>要素番号「20」が一番前に前に来ていると読み取るには、どこに着目すれば
よろしいでしょうか。

まさに、設問cがその箇所に該当すると思います。詳細は当該問題の解説を御参照下さい。
どこに着目するかというと、問題文では、
〔プログラム2の説明〕の(2)の「配列要素 heap[0] の値と配列要素 heap[last] の値を交換し,」の部分と、それに対応する副プログラムheapSortの5行目「・swap(heap,0,last)」
でしょうか。

>トレースで上手く導き出せません。
トレースするのは、副プログラムheapSortですが、1回目のトレースで、 60 30 45 15 5 10 20→20 30 45 15 5 10 60  (heap[0]とheap[last]の交換)になるはずです。
〔プログラム2〕の流れを見ると、downHeap の開始時点では、heapSortは既に、実行されているはずです。
2021.01.20 14:08
 Greetingさん(No.3) 
回答ありがとうございました。

参考にして復習してみます。
2021.01.23 09:59

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop