森林遍历BTree结构

时间:2015-08-25 12:51:58

标签: c++ algorithm graph tree traversal

我有一个由两种类型的节点组成的树:

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);
};

你可以想象这棵树看起来像这样:

Tree image

叶节点显然是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

我在过去的一周里一直在研究这个问题,但仍然无法弄清楚要使用哪种算法。你能帮助我吗?

0 个答案:

没有答案