電気通信大学 情報理工学研究科 情報学専攻 2021年8月実施 選択問題 アルゴリズムとデータ構造
标签:
Author
祭音Myyura (co-authored with GPT 5.6 SOL)
Description
配列で表した最大ヒープに対する下向き調整関数 algo、ヒープソート algo1、ボトムアップ構築 algo2 を追跡せよ。また、先頭 要素を用いて第 小要素を求める algo3 の空欄を補え。使用する配列は
である。
题目描述
追踪最大堆的下滤、堆排序和自底向上建堆过程,并补全利用大小为 的最大堆求第 小元素的程序。
Kai
1.
0 始まりの添字より、
2.
根を にして下向き調整すると、交換は
の 3 回である。したがって、
であり、(S) の実行回数は 回である。
3.
各回の algo 実行後は次のとおりである。
| (S) の回数 | 配列 | |
|---|---|---|
| 5 | 2 | |
| 4 | 2 | |
| 3 | 1 | |
| 2 | 1 | |
| 1 | 1 | |
| 0 | 0 |
よって最終的に昇順に整列される。
4.
となる。algo2 は、葉でない節点を添字の大きい順に下向き調整するため、配列をボトムアップに最大ヒープへ変換する。
5.
先頭 要素を最大ヒープとして保つ。根より小さい要素を見つけたときだけ根と交換し、先頭 要素を再びヒープ化すれば、走査後の根は第 小要素となる。したがって、