回答編集履歴

1

追記

2019/10/28 22:51

投稿

Zuishin
Zuishin

スコア28669

test CHANGED
@@ -11,3 +11,11 @@
11
11
 
12
12
 
13
13
  例えば、データの中から最も小さいものを頻繁に知りたい場合、知りたい時にいちいち線形検索していたのでは時間がかかります。また新しいデータが挿入されたり既存のデータが削除されるたびにソートしていても時間がかかります。バイナリサーチが可能なら検索は高速になりますが、挿入・削除でのデータの移動に時間がかかります。しかし、ヒープを使えば高速にデータを検索・挿入・削除することができます。
14
+
15
+
16
+
17
+ 引用した優先度付きキュー、グラフ問題が具体例になります。ヒープはデータを整理するための構造ですが、人間の頭ではそのままのヒープを見ても一目瞭然とはなりません。そこで人間の目に触れる時にはヒープそのものではなく、ヒープで保存されているデータをさらに加工して出力することになります。
18
+
19
+
20
+
21
+ つまり内部で使われている構造なので、直接目にすることは無いでしょう。