微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Treap数据结构的动态图

如何解决使用Treap数据结构的动态图

我正在尝试使用Treap数据结构实现动态图。

这是节点结构:

size

当我要将邻居节点添加到特定节点时,

  1. 搜索节点,然后通过以下方式将邻居节点添加搜索节点的 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

searchAddress-> neighbourNode.push_back(x);

但是我的教授说,将updateNode()的地址存储在节点中。

  1. 是否会减小TreapNode的大小?
  2. 如何存储和访问地址?我在TreapNode类中尝试过这种方法,但它给出了vector<int> neighbourNode未定义错误

int * neighbourNodeAddress = neighbourNode.data()

有人可以帮助我吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。