我有一个由两种类型的节点组成的树:
struct nodeStr_c
{
std::wstring name;
std::list<node_c*> children;
nodeStr_c(std::wstring & vName);
node_c* operator[] (int vPos);
};
struct node_c
{
bool visited;
std::list<nodeStr_c*> children;
node_c();
nodeStr_c* operator[] (std::wstring & vName);
};
你可以想象这棵树看起来像这样:
叶节点显然是nodeStr_c类型。它们可以有任何价值,但我已经为它们分配了助记符字符串。
查看上表,我需要从中获取以下信息:
CHEMISTRY | A:B:C | A:B:E | A:X:Y | C
----------|-------------|-------------|-------------|---
value | A(1):B(1):C | A(1):B(1):E | A(1):X(1):Y | c
value | A(1):B(2):C | A(1):B(2):E | | c
value | A(1):B(3):C | | | c
value | A(2):B(1):C | | A(2):X(1):Y | c
value | A(2):B(2):C | | | c
我在过去的一周里一直在研究这个问题,但仍然无法弄清楚要使用哪种算法。你能帮助我吗?