这是什么样的树是字母作为节点?
问题描述:
我刚开始学习C++,我需要为一个项目创建一个列表树(下面的图片链接),但我不确定它是一个自定义树还是一个预先存在的树。这是什么样的树是字母作为节点?
有点在树上;大蓝块代表列表,代表节点内的小块。
我不是在寻找代码或任何东西,只是一个解释树或链接到我可以找到它的信息。
答
图像中的数据结构是Trie数据结构。
Trie是一种高效的信息检索数据结构。使用trie,搜索复杂性可以达到最佳限制(密钥长度)。 - (来源:GeeksForGeeks)
图中显示的是以下字符串 -
法,实际,其实,和,书,老板,孔,董事会和船。
一些有用的链接了解更多 -
答
从我会使用类似
struct List;
struct Node {
// ... node data ...
std::shared_ptr<List> list;
};
struct List {
// ... list data ...
std::vector<std::shared_ptr<Node>> nodes;
};
除非节点在列表中的号码可以是巨大的图片,你需要动态插入/从的中间删除节点名单。
答
这对我来说看起来就像一件古装树。通常对于他们制作自己的服装树的项目来说,它们是数据结构的组合。例如,这是列表和链接列表的组合。
我认为它可以通过[Linux内核链表]来实现( https://isis.poly.edu/kulesh/stuff/src/klist/) – lanyusea
尝试描述th e图像。这本身可能会让你接近自己的答案。 –