在C ++中高效搜索多个分层数据结构中的数据

时间:2017-07-25 12:41:45

标签: c++ stdmap fsm

大家好,我有一个在我创建的大地图中搜索数据的问题。我正在用我的框架创建一个FSM。我有几个condition s应该附加到某些Transition s(基于以下条件)。 condition应附加到两个状态s1&之间的Transition。 s2,如果在某个state s1中找到set s1Set而在state s2中找到set s2Set

由于我有几个条件,每个条件都有它,我创建了这个地图以便能够检查。

std::map<std::set<int>, std::pair<std::set<StateArch*>, std::set<StateArch*> > > mapBypassConditions;

整数组是我的条件,这对组是我搜索S1和S2的地方。

然而,我认为这是非常低效的,因为对于我的FSM中的每次转换,我必须遍历整个地图并搜索S1和S2并检查是否需要将条件附加到它。

你们有更好的想法吗?也许更好地组织地图?

P.S。我正在使用C ++ 98,因为框架有点旧,还没有使用更新的版本

0 个答案:

没有答案