平成30年春期午後問8
Greetingさん
(No.1)
解答欄eについて
解説では、「3~5行目 初回の downHeap の開始時点でデータは 20 30 45 15 5 10 60
と並んでいて」とありますが、トレースで上手く導き出せません。
要素番号「20」が一番前に前に来ていると読み取るには、どこに着目すれば
よろしいでしょうか。
お教え頂ければ幸いです。
解説では、「3~5行目 初回の downHeap の開始時点でデータは 20 30 45 15 5 10 60
と並んでいて」とありますが、トレースで上手く導き出せません。
要素番号「20」が一番前に前に来ていると読み取るには、どこに着目すれば
よろしいでしょうか。
お教え頂ければ幸いです。
2021.01.20 11:08
sumakkoさん
★FE シルバーマイスター
(No.2)
>要素番号「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日経過したスレッドへの投稿はできません。
広告