如何在 c++ 中实现 avl 树,每个节点都是另一个 avl 树

How to implement an avl tree in c++ with each node being another avl tree

本文关键字:avl 节点 另一个 c++ 实现      更新时间:2023-10-16

我有一个输入.txt文件,其中包含如下数字:input.txt文件

我正在尝试制作一个 avl 树,其中每个节点都是第一列的数字,每个节点都指向另一个包含第二列数字的 avl 树。有人可以解释如何在 c++ 中实现这一点吗?

像使用整数节点一样实现这一点:

struct AVL_node
{
bool color;
int key;
AVL_Tree value;
AVL_Node * left_subtree;
AVL_Node * right_subtree;
};

在树中,您需要分隔键、值和链接字段。 关键是用于对节点进行排序的内容。 值是数据。

该值没有区别。 它可能std::vectorstd::map或丢失。 通常不会复制节点,只会更改链接。 但是,如果复制节点,则会同时复制键和值字段。

请记住,在组织节点时,只有链接字段会更改。 该键用于确定排序。