【问题标题】:C++ data structure for an undirected graph of unknown size未知大小的无向图的 C++ 数据结构
【发布时间】:2016-03-06 23:16:42
【问题描述】:

我正在尝试编写一个程序来探索未知大小的无向图并在运行时构建邻接表。通常我会创建一个set<set<String>>(房间由一个字符串标识),但有人告诉我这在 C++ 中是不稳定的。什么是更好的数据结构?

【问题讨论】:

  • 为什么稳定性很重要? (虽然我不确定我如何不确定这如何构成邻接列表 - 你如何在其中查找任何内容?当然,外部结构应该是 mapvector 或者你可以索引到?)

标签: c++ multidimensional-array q-learning


【解决方案1】:

这取决于您以后要如何查询信息。

我可以提出两种选择:

using namespace std;
set< pair<string,string> >

using namespace std;
multimap<string,string>

在第一种情况set 中,您可以检查两个节点是否已连接,但您需要知道两个节点(A 和 B)才能运行查询。在第二种情况multimap,给定节点A,您可以轻松获得所有相邻节点的迭代器。

您需要插入对两次或使用一些规则,例如始终按字典顺序添加边。

【讨论】:

    猜你喜欢
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多