这是什么类型的树有字母作为节点?

时间:2017-06-16 06:43:39

标签: string data-structures tree trie

我刚刚开始学习C ++,我需要为项目创建一个列表树(下面的图像链接),但我不确定它是自定义树还是预先存在的树。

树上的一点点;大蓝色块表示列表,较小的块表示节点。

我不是在寻找代码或任何东西,只是对树的解释或链接到我可以找到它的信息。

Image Here

4 个答案:

答案 0 :(得分:1)

图像中的数据结构是Trie数据结构。

Trie是一种高效的信息检索数据结构。使用trie,搜索复杂性可以达到最佳限制(密钥长度)。 - (来源:GeeksForGeeks)

图像中显示的Trie用于以下字符串 -
行动,实际,实际,和,书,老板,钻孔,板和船。

一些有用的链接了解更多 -

答案 1 :(得分:0)

从图片中我会使用类似

的内容
struct List;
struct Node {
    // ... node data ...
    std::shared_ptr<List> list;
};
struct List {
    // ... list data ...
    std::vector<std::shared_ptr<Node>> nodes;
};

除非列表中的节点数量很大,否则您需要从列表中间动态插入/删除节点。

答案 2 :(得分:0)

这对我来说就像一棵古装树。通常对于项目,他们制作自己的服装树,这是数据结构的组合。例如,这是列表和链接列表的组合。

答案 3 :(得分:0)

您所描述的是Trie或前缀树的实现。 https://en.wikipedia.org/wiki/Trie

级别可以用不同的方式实现:链表,位图,数组等。但它们背后的想法是一样的。