電子書籍の厳選無料作品が豊富!

「ヒープ」という言葉について、
本来の意味とコンピュータプログラミングにおける意味の
関連が気になったので質問させて下さい。

・本来の意味:(積み重ねた)山(状のもの)
・コンピュータプログラミングにおける意味:オペレーティングシステムや
 アプリケーションプログラムが、用途を限定せずに利用するメモリ領域
ですが(下記、Yahoo!辞書参照)、なぜ「山」を意味する単語が
「用途を限定せずに利用するメモリ領域」の意味になったのか気になっています。

「山は広いので、用途をあまり限定せずに利用できるから」
みたいな軽い理由なのかな……。

※「heap」の検索結果 - Yahoo!辞書
http://dic.search.yahoo.co.jp/search?ei=UTF-8&p= …

くだらない質問ですが、何かコメントいただけると嬉しいです。
以上、よろしくお願いします

A 回答 (2件)

利用方法のイメージから来ていると思います。



ヒープ領域と言われるメモリ等の使い方は、先頭から順々に使っていきます。
途中で、破棄したデータ領域も無視して次々と後ろに(アドレスの高い方に)
使って行く訳ですね。これが、山積みのイメージを起こすのではないでしょうか?

頂点まで来たら、あるいはプログラムが指定したらガーベッジコレクションで
途中の空き領域を詰めていく訳ですけど。

ちょっと違うけど、山積みのイメージはスタックにもありますよね。
プッシュでデータを積み上げて、ポップでデータを取り出す。
途中のデータを抜き出したりは出来ませんが、プッシュを繰り返すイメージは
山積みでしょう。
    • good
    • 0
この回答へのお礼

お~。非常にわかりやすかったです!
頭の中のモヤモヤが取れました。ありがとうございました!

お礼日時:2011/01/03 15:51

山と言ってもmountの方じゃなくて、山盛りとかそういう意味です。


山盛りの料理から小皿に取り分けるってイメージから来たんだと思いますよ。
    • good
    • 0
この回答へのお礼

なるほど。山盛りの方でしたか。ありがとうございます!

お礼日時:2011/01/03 15:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!