Treap データ構造を使用して動的グラフを実装しようとしています。
ノード構造は次のとおりです。
class TreapNode
{
public:
int key;
int priority;
TreapNode* left, *right;
vector<int> neighbourNode;
TreapNode(int key)
{
this->priority = 0;
this->key = key;
this->left = nullptr;
this->right = nullptr;
}
TreapNode()
{}
TreapNode* addNode(TreapNode*&,int);
void updateNode(TreapNode*&,int,int);
};
特定のノードに隣接ノードを追加したい場合、
vector<int> neighbourNode
次のように、ノード を検索し、次の方法でノードを介して検索する隣接ノードを追加しますupdateNode()
。
searchAddress->neighbourNode.push_back(x);
しかし、私の教授は、のアドレスをvector<int> neighbourNode
ノードに保存すると言います。
- TreapNode のサイズを小さくすることはできますか?
- アドレスを保存してアクセスする方法は?TreapNode クラスでこの方法を試しましたが、
neighbourNode
未定義のエラーが発生しています。
int* neighbourNodeAddress = neighbourNode.data()
誰でも私を助けることができますか?