• 締切済み

ヒープ領域 ヒープ木

スタック領域とスタック構造は関係性が深いわけですが、ヒープ領域とヒープ木というのは関係性が実は深いということはあるのでしょうか?よろしくお願いいたします。

みんなの回答

noname#30727
noname#30727
回答No.5

前者は数量としての山積み。後者は形状としての山積み。 言葉以外には何の関係もありません。

全文を見る
すると、全ての回答が全文表示されます。
  • _poko
  • ベストアンサー率33% (1/3)
回答No.4

スタック構造とヒープ木は、データの構造を示したもので、スタック領域とヒープ領域は、プログラムが使用するメモリ領域を示したものです。 C言語で言えば関数が呼び出されるときに一時的にデータを格納するために一時的にスタック構造を使用し、スタック領域にデータを格納します。 ヒープ領域は、アプリケーション等から宣言(関数呼び出しにより確保)することでメモリーを使用できるもので、単なるメモリの領域でしかありません。この領域を木(TREE)構造で使ったものをヒープ木と言ったと思います。 よって、関係がないとは思いませんが、領域と構造は別のものと考えるほうがいいのではないでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.3

それでヒープ領域と関係が深いのはリスト構造かな。 ヒープ領域とヒープ木はどちらもheapという同じ単語を使っているという以上の関係はないでしょうね。

全文を見る
すると、全ての回答が全文表示されます。
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 ヒープ木と関係性が高いのはヒープソートですね。

全文を見る
すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

関係ないんじゃないかな

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C++で、メンバもヒープに確保されていますか

    C++でどこまでヒープに確保されるのかが分からなくなる場合があります。 特に、配列がある場合や、クラスを使う場合newしてインスタンス作って使用する場合と、 そうでない場合があり、どこまでヒープ領域に確保されているのか 分からなくなってしまっています。 (開発環境 Visual Studio 2013等) Q1 クラス内の配列 class AA{ public: int x; int dat[10]; }; AA *a0 = new AA(); とする場合と AA a1; とする場合。 このとき、メンバ変数はそれぞれ、 a0->xはヒープ領域に確保 a1.xはスタック領域に確保 されるという理解で良いですか? そして、配列a0->dat[0]等 もヒープ領域に確保されていますか? Q2 クラス内にクラス class BB{ int u,v; AA aa; }; BB *b0 = new BB(); とした場合、 b0がヒープに確保されるとして、 b0->aaはヒープに確保されており、 b0->aa.xやb0->aa.dat[0]等もヒープに確保されているという ことで良いでしょうか? Q3 確認方法 変数等がヒープかスタック領域のどちらに確保されたかは どうやって見分けることができますか? アドレスの値から判断できますか? よろしくお願い致します。

  • JavaVMヒープ領域の表示

    JavaVMの現在のヒープ領域、XmsとXmxを表示するコマンドを教えてください。お願いします。

  • 【ヒープの作り方】

    データ構造やアルゴリズムについての質問です。 「ヒープ」を用いてソートができたりすること、 ヒープへ挿入や、ヒープからの削除は分かるのですが、 そもそもヒープの作り方が分かりません。 ≪作り方≫ ある要素の集合が与えられたとき、 1つ目の値をルートにもってくる 2つ目の値をルートと比較し、子≦ルートとなるように追加 3つ目の値をルートと比較し、子≦ルートとなるように追加 4つ目の値をルートの左の子と比較し、子≦ルートの左の子、かつルートとも比較 ..... という風に要素の集合から要素がなくなるまで続けるので正しいでしょうか? それとも初めに与えられた要素の集合を ひとまず要素数分の2分木構造に割り当て、 ヒープが成り立つように、あとから値の交換を 行うのでしょうか? いま、要素の集団は配列のように順番が決まっているとして 考えています。 ≪取り出しと削除≫ 値の「取り出し」と「削除」は別物。という認識は正しいでしょうか? (1)取り出し...末端の最も右の葉をルートにコピーし、ヒープを再構成。 ⇒ルートの値を取り出す。 (2)削除...削除したい値を削除し、その子孫を繰り上げる。 詳しい方がおられましたら、ご指摘、アドバイス等 どうぞよろしくお願い致します。

  • JVMの最大ヒープ領域について

    吉岡と申します。 JVMのヒープ領域の設定についてご教授下さい。 -Xms/-Xmxオプションに指定することによりデフォルト、最大ヒープ領域が設定できると思いますが、これの最大値はいくつなのでしょうか? いろいろと試してみたところ、1239M以上はNGでした。(1.2GB程度) (利用可能なメモリ領域は3.5GB程度あります。) ハード:HP ProLiant DL360 R04 X3000-1M 1P 1GB SCSI CPU:INTEL xeon 3GHz メモリ:4GB OS:windows2003 JDK:j2sdk1.4.2_08 よろしくお願いいたします。

  • javaでヒープ領域の変更

    fedoracore5でnetbeans5.0でアプレットのプログラムを作っています。 java.lang.OutOfMemoryError: Java heap space となってしまうのでヒープ領域のサイズを変更したいのですがやりかたがわかりません。どうしたらいいですか?

  • ヒープ

    ヒープの基本操作で、insert(挿入)があるのですが、動作は分かるんですが、木の高さをheight(r)と すると、オーダーがO(height(r)+1)となるんですが、なぜ、1を加えるのか分かりません。おしえて下さい

  • ヒープ領域の「ヒープ」という言葉について

    「ヒープ」という言葉について、 本来の意味とコンピュータプログラミングにおける意味の 関連が気になったので質問させて下さい。 ・本来の意味:(積み重ねた)山(状のもの) ・コンピュータプログラミングにおける意味:オペレーティングシステムや  アプリケーションプログラムが、用途を限定せずに利用するメモリ領域 ですが(下記、Yahoo!辞書参照)、なぜ「山」を意味する単語が 「用途を限定せずに利用するメモリ領域」の意味になったのか気になっています。 「山は広いので、用途をあまり限定せずに利用できるから」 みたいな軽い理由なのかな……。 ※「heap」の検索結果 - Yahoo!辞書 http://dic.search.yahoo.co.jp/search?ei=UTF-8&p=heap&fr=dic&stype=prefix くだらない質問ですが、何かコメントいただけると嬉しいです。 以上、よろしくお願いします

  • VB.NETのメモリ領域について

    VB.NETのメモリ領域について 以下の(1)~(12)の変数のために、 スタック領域、静的領域、ヒープ領域のどこのメモリが使われるか教えてください。 Class Sample   Dim a As Integer '(1)   Dim b As String = "BBB" '(2)   Shared c As Integer '(3)   Shared d As String = "DDD" '(4)   Sub X()     Dim f As Integer '(5)     Dim g As String = "GGG" '(6)     Static h As Integer '(7)     Static i As String = "III" '(8)   End Sub   Shared Sub Y()     Dim k As Integer '(9)     Dim l As String = "LLL" '(10)     Static m As Integer '(11)     Static n As String = "NNN" '(12)   End Sub End Class それぞれこんな認識で合ってますか? スタック領域 (1)(5)(9) スタック領域にポインタ+ヒープ領域に実体 (2)(6)(10) 静的領域 (3)(7)(11) 静的領域にポインタ+ヒープ領域に実体 (4)(8)(12)

  • Javaのヒープ領域について

    JDK6でのヒープ領域ですがJavaオプション-Xms、-Xmxで指定可能です。 調べてみたところデフォルト値はそれぞれ-Xmsが物理メモリの1/64、-Xmxが物理メモリの1/4とのことです。 実際にlinuxでfreeを実行すると4Gでした。 JavaでRuntime.getRuntime.maxMemory()をlinux上で実行したところ660Mとなってしましました。 物理メモリが4Gなので1/4で1Gではないのでしょうか? また、デフォルト値の算出方法が誤っていましたら教えてください。

  • TOMCATでのヒープ領域設定

    TOMCAT5.5のヒープ領域の拡大したいのですが、tomcat5w.exeを使用したGUIでの設定以外に以前のような起動時のファイルで設定する方法はあるのでしょうか?インストーラにてTOMCAT及び設定を行いたいのでGUIでの設定ではなく、設定ファイルで対応できればと考えてます。