データ構造におけるスタックADT
抽象データ型は特殊な種類のデータ型であり、その動作は一連の値と一連の操作によって定義されます。これらのデータ型を使用できるため、キーワード「Abstract」が使用され、さまざまな操作を実行できます。しかし、これらの操作がどのように機能しているかは、ユーザーには完全に隠されています。 ADTはプリミティブデータ型で構成されていますが、操作ロジックは非表示になっています。
ここにスタックADTが表示されます。これらは、StackADTのいくつかの操作または機能です。
- isFull()、これはスタックがいっぱいかどうかを確認するために使用されます
- isEmpry()、これはスタックが空かどうかを確認するために使用されます
- push(x)、これはxをスタックにプッシュするために使用されます
- pop()、これはスタックの最上位から1つの要素を削除するために使用されます
- peek()、これはスタックの最上位の要素を取得するために使用されます
- size()、この関数は、スタックに存在する要素の数を取得するために使用されます
例
#include<iostream> #include<stack> using namespace std; main(){ stack<int> stk; if(stk.empty()){ cout << "Stack is empty" << endl; } else { cout << "Stack is not empty" << endl; } //insert elements into stack stk.push(10); stk.push(20); stk.push(30); stk.push(40); stk.push(50); cout << "Size of the stack: " << stk.size() << endl; //pop and dispay elements while(!stk.empty()){ int item = stk.top(); // same as peek operation stk.pop(); cout << item << " "; } }
出力
Stack is empty Size of the stack: 5 50 40 30 20 10
-
データ構造の最小スパニングツリー
スパニングツリー は、最小数のエッジで接続されたすべての頂点を持つ無向グラフのサブセットです。 すべての頂点がグラフで接続されている場合、少なくとも1つのスパニングツリーが存在します。グラフには、複数のスパニングツリーが存在する場合があります。 最小スパニングツリー 最小スパニングツリー(MST) は、接続された重み付き無向グラフのエッジのサブセットであり、すべての頂点を可能な限り最小の合計エッジ重みで接続します。 MSTを導出するには、プリムのアルゴリズムまたはクラスカルのアルゴリズムを使用できます。したがって、この章ではプリムのアルゴリズムについて説明します。 すでに説明したように、
-
データ構造における二分木表現
ここでは、コンピュータのメモリでバイナリツリーを表現する方法を説明します。表現するには2つの異なる方法があります。これらは配列とリンクリストを使用しています。 このようなツリーが1つあるとします- 配列表現は、レベル順の方法を使用して要素をスキャンすることにより、ツリーデータを格納します。したがって、ノードをレベルごとに格納します。一部の要素が欠落している場合は、空白のままにします。上記のツリーの表現は以下のようになります- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 5