スタックとヒープ

著者: Laura McKinney
作成日: 4 4月 2021
更新日: 5 5月 2024
Anonim
スタックとヒープ メモリの管理の方法、どうやっているの?
ビデオ: スタックとヒープ メモリの管理の方法、どうやっているの?

コンテンツ

スタックとヒープの違いは、スタックは後入れ先出し方式に従うデータ構造であるのに対し、ヒープは方式に従わないデータ構造であり、メモリはランダムな順序で割り当てられることです。


データ構造は、コンピューターサイエンスの主要かつ重要な概念の1つです。多くのデータ構造がありますが、スタックとヒープは最も重要なデータ構造です。スタックは後入れ先出し法に従うデータ構造であるのに対し、ヒープは方法に従わないデータ構造であり、メモリはランダムな順序で割り当てられます。基本的に、スタックとヒープはメモリ割り当てに使用されます。スタック内のメモリの線形および順次割り当てがありますが、ヒープ内の動的メモリ割り当てのみです。

スタックは順序付きリストを作成し、この順序付きリストに新しいアイテムが追加されてから、既存の要素が削除されます。要素はスタックの最上部から削除または削除されます。スタックの最上部はTOS(スタックの最上部)と呼ばれます。削除だけでなく、挿入もスタックの最上部から行われます。スタックは、後入れ先出し方式です。関数呼び出しはスタックでサポートされています。スタックエントリのコレクションを保持するスタックフレームがあります。スタック内の関数を呼び出すと、スタックフレームがスタックにプッシュされます。ヒープは、メソッドに従わないデータ構造であり、メモリはランダムな順序で割り当てられます。ヒープ内のメモリのランダムな割り当てとデアサートがあります。ポインターは、ヒープ内のプロセスを要求するために割り当てによって使用されます。割り当てを解除する場合は、スタックに似た割り当て解除要求が必要です。

内容:スタックとヒープの違い

  • 比較表
  • スタック
  • ヒープ
  • 主な違い
  • 結論
  • 説明ビデオ

比較表

基礎スタックヒープ
意味スタックは、後入れ先出し方式に続くデータ構造です

ヒープは、メソッドに従わないデータ構造であり、メモリはランダムな順序で割り当てられます。


 

割り当てと割り当て解除 スタックの割り当てと割り当て解除は自動ですヒープの割り当てと割り当て解除は手動です
アクセス時間 スタックのアクセス時間は高速ですヒープのアクセス時間が遅い
実装スタックの実装は難しいヒープの実装は簡単です。

スタック

スタックは順序付きリストを作成し、この順序付きリストに新しいアイテムが追加されてから、既存の要素が削除されます。要素はスタックの最上部から削除または削除されます。スタックの最上部はTOS(スタックの最上部)と呼ばれます。削除だけでなく、挿入もスタックの最上部から行われます。スタックは、後入れ先出し方式です。関数呼び出しはスタックでサポートされています。スタックエントリのコレクションを保持するスタックフレームがスタックにあります。スタック内の関数を呼び出すと、スタックフレームがスタックにプッシュされます。

スタックでの操作

  • 押す
  • ポップ
  • ピーク
  • 空です

ヒープ

ヒープは、メソッドに従わないデータ構造であり、メモリはランダムな順序で割り当てられます。ヒープ内のメモリのランダムな割り当てとデアサートがあります。ポインターは、ヒープ内のプロセスを要求するために割り当てによって使用されます。割り当てを解除する場合は、スタックに似た割り当て解除要求が必要です。

主な違い

  1. スタックは、後入れ先出し法に従うデータ構造であるのに対して、ヒープは、法に従わないデータ構造であり、メモリはランダムな順序で割り当てられます
  2. スタックの割り当てと割り当て解除は自動ですが、ヒープの割り当てと割り当て解除は手動です
  1. スタックのアクセス時間は高速ですが、ヒープのアクセス時間は低速です
  2. スタックの実装は困難ですが、ヒープの実装は簡単です。

結論

上記のこの記事では、実装時のスタックとヒープの明確な違いがわかります。


説明ビデオ