名科辞典―これは何?情報は?にこたえるコンテンツ

トップ ヒープとは

ヒープとは―データ構造の1つ。ヒープ領域とはメモリ領域のこと。

データ構造やヒープ領域とは何かなど、ヒープをテーマに情報をまとめています。

1. ヒープとは

ヒープとは、英語でheapと記述する言葉で、IT用語では、データ構造、またはメモリ領域のことを表す言葉です。

英語でheapと記述

ヒープは、英語でheapと記述される用語です。

heapの意味

一般的な英語辞典のheapの意味は以下になります。

  1. 積み重なったもの、堆積
  2. 群れ、たくさん、幾度も、何度も
  3. ぽんこつ、がたのきたもの

heap data structure(データ構造のヒープ)

一般的な英語辞典にはありませんが、heap data structure(データ構造のヒープ)もヒープと言います。

heap area(ヒープ領域)

同じく一般的な英語辞典にはありませんが、コンピュータのメモリ領域のheap area(ヒープ領域)もヒープと言います。

あと、heap memory(ヒープメモリ)もヒープと言います。

2. データ構造としてのヒープとは

データ構造としてのヒープとは、配列を使って半順序木を実現したデータ構造のことをいいます。

データ構造とは

データ構造とは、データが相互に関連づけられた構造を形作ったもののことをいいます。 データ構造は、基本データ構造と問題向きデータ構造に分類されます。

基本データ構造は、基本データ型、構造型などが分類され、問題向きデータ構造には、連結リスト、木、スタック、キューなどが分類されます。

配列とは

配列とは、同じデータ型のデータが集まることによって実現されるデータ構造のことをいいます。

データ型とは、データの種類のことで、たとえば、「-1、0、1、2、3・・・」は整数型、「true、false」は論理型です。

半順序木とは

半順序木とは、すべての節について親の値が子の値よりも小さいか等しいという条件の2分木です。 ①完全2分木、②親の値 ≦ 子の値、③兄弟間に大小の制約が無い、という条件の木です。

ただし、②の条件は「親の値 ≧ 子の値」と親子の関係を逆転させる場合もあります。

ヒープのデータ構造イメージ

ヒープのデータ構造のイメージです。

ヒープのデータ構造イメージ

3. メモリ領域としてのヒープ領域とは

メモリ領域としてのヒープとは、動的変数で利用されるメモリ領域である、ヒープ領域のことをいいます。

メモリ領域とは

メモリ領域とは、コンピュータで記憶媒体に保存されたプログラムを実行する際に、プログラムをロードする主記憶の記憶領域ことをいいます。

主記憶とは

主記憶とは、CPUなどのプロセッサーが直接アクセスすることのできる記憶装置のことをいいます。

1次記憶装置、メインメモリともいわれますが、単にメモリと言われることもあります。

変数とは

変数とは、データに固有の名前を付けて記憶して必要なときに利用できるようにしたもので、静的変数と動的変数があります。

静的変数は、プログラム実行前に記憶領域に割り付けられ、プログラムの実行中は、領域は解放されない変数。 動的変数は、プログラムの実行中に記憶領域に割り付けられ、ヒープ領域に割り付けられることが多い変数です。

ヒープ領域とは

ヒープ領域とは、プログラミングで動的に確保可能なメモリの領域のことをいいます。

C言語ではmalloc関数の呼出しでヒープ領域のメモリが確保され、free関数で解放されます。 なお、ヒープ領域の構造は設計によるようでデータ構造のヒープが必ずしも使用されるわけではないようです。

更新履歴

このページの更新履歴です。

  • 2016.12.26 記事をUPしました。

戻る