这是一棵以字母为节点的树吗?
What kind of tree is this that has letters as nodes?
我刚开始学习 C++,我需要为项目创建一个列表树(下图 link),但我不确定它是自定义树还是预先存在的树。
有点在树上;蓝色的大块代表列表,里面的小块代表节点。
我不是在寻找代码或任何东西,只是在寻找树的解释或 link 我可以在哪里找到有关它的信息。
根据图片我会使用类似的东西
struct List;
struct Node {
// ... node data ...
std::shared_ptr<List> list;
};
struct List {
// ... list data ...
std::vector<std::shared_ptr<Node>> nodes;
};
除非列表中的节点数可能很大,并且您需要从列表中间动态 insert/remove 个节点。
我觉得这像一棵服装树。通常对于项目,他们会制作自己的服装树,它是数据结构的组合。例如,这是列表和链接列表的组合。
您所描述的是 Trie 或前缀树的实现。 https://en.wikipedia.org/wiki/Trie
层级可以用不同的方式实现:链表、位图、数组等。但它们背后的思想是相同的。
图中的数据结构为Trie数据结构
Trie 是一种高效的信息检索数据结构。使用 trie,可以将搜索复杂性带到最佳限制(密钥长度)。 -(来源:GeeksForGeeks)
图像中显示的 Trie 是针对以下字符串创建的 -
Act, Actual, Actually, And, Book, Boss, Bore, Board and Boat.
了解更多信息的一些有用链接 -
我刚开始学习 C++,我需要为项目创建一个列表树(下图 link),但我不确定它是自定义树还是预先存在的树。
有点在树上;蓝色的大块代表列表,里面的小块代表节点。
我不是在寻找代码或任何东西,只是在寻找树的解释或 link 我可以在哪里找到有关它的信息。
根据图片我会使用类似的东西
struct List;
struct Node {
// ... node data ...
std::shared_ptr<List> list;
};
struct List {
// ... list data ...
std::vector<std::shared_ptr<Node>> nodes;
};
除非列表中的节点数可能很大,并且您需要从列表中间动态 insert/remove 个节点。
我觉得这像一棵服装树。通常对于项目,他们会制作自己的服装树,它是数据结构的组合。例如,这是列表和链接列表的组合。
您所描述的是 Trie 或前缀树的实现。 https://en.wikipedia.org/wiki/Trie
层级可以用不同的方式实现:链表、位图、数组等。但它们背后的思想是相同的。
图中的数据结构为Trie数据结构
Trie 是一种高效的信息检索数据结构。使用 trie,可以将搜索复杂性带到最佳限制(密钥长度)。 -(来源:GeeksForGeeks)
图像中显示的 Trie 是针对以下字符串创建的 -
Act, Actual, Actually, And, Book, Boss, Bore, Board and Boat.
了解更多信息的一些有用链接 -